ApiBlaze: A new Developer Journey

Why I started ApiBlaze

Key Features

Technologies

  • PlainJS: To enable powerful visualizations, I want to work close to the DOM with PlainJS1. For styling, I will structure the CSS using SAAS.
  • WebSockets: The application consists of a backend that holds the API specification, data model and search functions, and the frontend with the above explained sections. In order to achieve “blazingly fast” interactions, backend and frontend will be connected with WebSockets, a technology to enable long-lasting, full-duplex connections between two endpoints to stream data.

Requirements

  • SEA01 — Search for APIs by Keyword
  • SEA02 — Show search results in a popup
  • SEA03 — Select a search results with arrow keys, enter and mouse click
  • SEL01 — Distinguish objects, properties and endpoints
  • SEL02 — Search for API Elements by keywords
  • SEL03 — Show search results in a popup
  • SEL04 — Select a search results with arrow keys, enter and mouse click
  • DIS01 — Show an objects description
  • DIS02 — When an object is selected: Show its entire data model
  • DIS03 — When a property is selected: Show in which objects it is used
  • DIS04 — When an endpoint is selected: Show its request and response object
  • FRAME01 — Controller & Routing
  • FRAME02 — Stateful Pages & Components
  • FRAME03 — Actions
  • FRAME04 — Optimized Bundling
  • TECH01 — Use PlainJS & Custom Framework
  • TECH02 — Use SAAS for CSS
  • TECH03 — Use WebSockets to Connect Frontend and Backend

Conclusion

Footnotes

  1. To be honest here, ApiBlaze was developed in three phases: An initial prototype, a refactored version using modules, and finally a variant using a custom framework. The reason: The prototypes’ code became unmaintainable after a long summer break, so I refactored the app into different JavaScript modules. And from this, the idea and implementation of a minimal framework, consisting of a controller, pages and components, emerged. At the time of writing this, the code base actively changes from modules to classes. And at the same time, the frameworks’ features evolve according to ApiBlaze requirements.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store