Overview
Academic backend project implementing a RESTful service for an online bookstore. Focus areas: resource modeling, separation of concerns, validation, and extensibility.
Endpoints (Representative)
GET /books / POST /books / GET /books/{id}GET /authors / GET /authors/{id}POST /customers / GET /customers/{id}POST /carts/{id}/items / DELETE /carts/{id}/items/{itemId}POST /orders / GET /orders/{id}Architecture
JAX-RS Resources → Service Layer → DAO Layer → PersistenceDTO mappers isolating transport model from entitiesInput validation & error normalization (structured JSON error object)Tech Stack
Java (JAX-RS), Maven, JDBC / (or JPA variant), JSON-BJUnit tests for core servicesPostman collection (manual exploration)Features
Pagination & filtering for catalog explorationCart aggregation: price, quantity, subtotalOrder creation transactional integrityBasic auth (prototype scope) placeholder for future JWTChallenges
Designing consistent error payload schemaEnsuring idempotent cart operationsAvoiding N+1 on author + book joinsOutcome
Solid foundation for future expansion (inventory, reviews, search)Clear layering improved testability & maintainability---
Highlights backend fundamentals: REST modeling, layering, validation, and transactional logic.