- Backend Stack: Spring Boot, Spring Security (JWT), Spring Data JPA, PostgreSQL, Flyway, Redis, Elasticsearch
- Companion FE project - https://github.com/nirmalks/bookstore-react
- Tools & Libraries: Swagger, Jakarta Validation, AOP Logging
- 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
- Add or update books, authors, and genres
- Register, log in, and manage account profile
- Browse and search books
- Add items to cart and place orders
- View orders
- admin cred - admin/admin123
- customer cred - john_doe/admin123