Project Overview
General Information – This project is a microservices-based platform for managing books, orders, and user authentication. Built with a production-grade mindset, it incorporates a full observability stack (logging, metrics, tracing), resilience patterns, and a completely containerized environment - going well beyond basic functionality to reflect real-world backend engineering practices.
Architecture – All client traffic goes through an API Gateway, which routes requests to the appropriate microservice. Services discover each other via Eureka. Security is handled uniformly across services using JWT tokens and role-based access control enforced at the gateway level. The entire environment runs inside Docker Compose.
Key Features
API Gateway & Service Discovery
All traffic is routed through an API Gateway. Services register and discover each other dynamically via Spring Cloud Netflix Eureka.
JWT & Role-Based Access
JWT authentication and role-based access control are enforced consistently across all services at the gateway level.
Centralized Logging (ELK)
All service logs are aggregated and searchable via the ELK Stack - Elasticsearch, Logstash, and Kibana.
Metrics Monitoring
Prometheus collects metrics from all services; Grafana provides real-time dashboards for performance monitoring.
Distributed Tracing
Zipkin provides end-to-end distributed tracing across services, making it easy to identify bottlenecks and failures.
Fully Containerized
The entire system - all services, databases, and observability tools - is orchestrated with a single Docker Compose configuration.
PostgreSQL Persistence
Each service manages its own PostgreSQL database, keeping data ownership clear and aligned with microservices principles.