Book Order Management – Microservices Platform

A production-grade microservices system for managing books, orders, and user authentication - with full observability and security stack.

Project Overview

Java Spring Boot Spring Cloud Spring Security JWT PostgreSQL Docker ELK Prometheus Grafana Zipkin

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.