The Challenge
Build a backend that stays reliable as it grows — where each part can be developed, deployed, and scaled independently, and where one slow or failing component never takes down the whole system. This open-source project is a working demonstration of exactly how I approach scalable, fault-tolerant backend architecture.
What I Built
Instead of one large monolith, I split the system into focused microservices — each written in the language best suited to its job — coordinated by a custom API gateway and an asynchronous message broker.
- Authentication — Django + JWT: secure registration, login, and stateless token-based auth with access and refresh tokens.
- Catalog — Flask: a lightweight service for books and inventory that updates stock by reacting to order events.
- Orders — Node.js: handles order placement and status, publishing events like "order placed" to the broker.
- API Gateway — Go: a single, fast entry point that routes requests, validates JWTs, and shields the internal services from the outside world.
- RabbitMQ: asynchronous pub/sub messaging so services stay decoupled — an order updates the catalog without the two ever calling each other directly.
Why it's built this way: each service can scale or be rebuilt on its own, the asynchronous messaging keeps the system resilient (events wait safely in the queue if a service is briefly down), and the Go gateway keeps everything secure behind one controlled entry point.
Shipping It to Production
Every service is packaged as its own Docker container and deployed on Kubernetes — with Deployments managing pods, Services handling internal and external access, and Secrets & ConfigMaps for secure, flexible configuration. High-load services like Orders or the Gateway can scale horizontally without touching the rest, which is the whole point of the design.
The Outcome
A fault-tolerant, cloud-native backend where any service can scale or fail independently without bringing down the others — a working blueprint for the kind of resilient, production-grade systems I build for clients. The full source is available on GitHub.
Tech Stack
| Layer | Technology |
|---|---|
| Authentication | Django + DRF + JWT |
| Catalog | Flask |
| Orders | Node.js + Express |
| API Gateway | Golang |
| Messaging | RabbitMQ |
| Containerization | Docker |
| Orchestration | Kubernetes |






