Bookstore Backend service using Spring Boot


  • Github - https://github.com/nirmalks/bookstore-spring-be
  • Backend Stack: Spring Boot, Spring Security (JWT), Spring Data JPA, PostgreSQL, Flyway, Redis, Elasticsearch
  • Tools & Libraries: Swagger, Jakarta Validation, AOP Logging
  • Deployment: Local (Backend), PostgreSQL + Redis

Key Features

  • Clean architecture with feature-based folder structure
  • RESTful APIs for managing books, authors, users, orders, carts, and genres
  • JWT-based authentication and role-based authorization (user, admin)
  • Request validation using Jakarta annotations and centralized exception handling
  • Advanced book search with filtering and pagination using JPA Specifications
  • Redis caching for improved performance
  • Elasticsearch integration for full-text search
  • Swagger documentation for API testing
  • AOP-based structured logging for API request tracing as example
  • Flyway integration for consistent DB migrations

Admin Capabilities

  • Add or update books, authors, and genres

User Capabilities

  • Register, log in, and manage account profile
  • Browse and search books
  • Add items to cart and place orders
  • View orders