Production-grade backend for a restaurant Point-of-Sale system, built to handle secure authentication, role-aware operations, and complete order workflows across menu and table management.
- Java 21
- Spring Boot 3
- Spring Security + JWT
- Spring Data JPA
- PostgreSQL
- Redis Cache
- OpenAPI/Swagger (
springdoc-openapi) - Maven
- Docker + Docker Compose
- JWT-based login and stateless authentication (
/api/auth/login) - Role and permission management for operational users
- Menu item CRUD with area-based retrieval
- Table area and table lifecycle management
- End-to-end order operations:
- create orders
- generate KOTs
- attach payments
- filter and fetch order details
- Interactive API documentation via Swagger UI
AuthController->/api/authUserController->/api/usersMenuItemController->/api/menu-itemsTableAreaController->/api/tableAreaTableListController->/api/tableListOrderController->/api/orders
Client (Web/App) -> Spring Boot REST API -> PostgreSQL
-> Redis Cache
-> JWT Security Filter Chain
- Clear, consistent REST endpoint design
- Security-first request filtering and authorization with JWT + Spring Security
- Layered architecture: controller -> service -> repository -> entity
- Caching for improved read performance on repeated access paths
- Modular structure designed for easy extension (analytics, reporting, multi-branch support)
This repository is intended for showcase purposes.
The complete implementation is maintained in a private repository and can be shared upon request for recruiter/interviewer evaluation.