
RS Inventory (Microservices)
A scalable hospital inventory system built with Microservices architecture, Node.js, and Docker, featuring a custom API Gateway and rate limiting.
Overview
RS Inventory is an ambitious backend project designed to manage hospital inventory at scale. As both the Project Manager and Lead Backend Developer, I guided a team of 4 to deliver this system within a tight 1-week deadline.
We adopted a Microservices Architecture to ensure independent scalability and fault isolation for critical hospital operations.
Architecture
Does a hospital inventory need microservices? For this project, the goal was to simulate high-scale operations. We split the application into 5 distinct services:
- Auth Service: JWT-based authentication.
- Inventory Service: Core stock management.
- Notification Service: Alerts for low stock levels.
- Purchase Service: Procurement workflows.
- Tracking Service: Audit logs for all actions.
All services communicate via a centralized API Gateway built with Node.js/Express.
Data Isolation
We enforced strict data isolation by provisioning separate MySQL databases for each service on Railway. This prevents tight coupling and allows services to evolve independently.
Technical Highlights
- Custom API Gateway: Handled routing, authentication, and simulated rate limiting to manage traffic flow.
- Docker Orchestration: All services were containerized, preparing the system for Kubernetes deployment.
- 100% Test Coverage: We utilized Postman for comprehensive API testing, ensuring every endpoint was robust before deployment.
Outcome
This project demonstrated the complexity and power of distributed systems. Despite the short timeline, we delivered a fully functional, documented, and testable microservices ecosystem.