Microservice
API for Expel
Key contributor in the development, maintenance, and evolution of the Expel Workbench API, serving both internal platform needs and external customer integrations.
Screen Captures
The Story
What was built?
The Expel Workbench API was conceived as a dual-purpose tool, underpinning the internal mechanisms of the Expel platform, and offering a public interface for customers to integrate with our platform in a custom manner.
As a core member of a small development team, my involvement spanned from the initial development to the subsequent evolution of the API to its current state (v2).
What was my role?
I played a pivotal role in the development of the API, involving tasks from creating new API endpoints to managing potential security risks, supporting external API clients, handling load and latency, and ensuring scalability of the API.
What were the challenges?
The journey from inception to a fully functional API presented various challenges, such as managing the API's complexity, mitigating security risks, catering to external API clients, handling load and latency, performance monitoring, implementing role-based access control (RBAC), and ensuring scalability.
What was the impact?
The transformation of a basic set of RESTful endpoints into a production-grade API has not only bolstered our internal teams but also empowered customers with unique use-cases to leverage our systems.
The customer integrations served as a catalyst for the development of new features that we later incorporated into our platform.
What lessons were learned?
The process of architecting a robust API from the ground up was a learning journey.
It solidified my understanding of NodeJS in a production setting, the jsonapi specification, and reinforced the importance of thorough testing and monitoring for such a critical component of a software system.