This Spring Boot application is an e-commerce platform that integrates with FakeStoreAPI to provide product catalog, shopping cart, and user management functionalities.
- Java 11+
- Spring Boot
- Maven
- RestTemplate for API communication
The project follows a layered architecture:
- Controllers: Handle HTTP requests and responses
- Services: Implement business logic and API integration
- DTOs: Transfer data between layers
- Persistence: Entity models and repositories
- ProductServiceImpl: Manages product catalog operations
- CartServiceImpl: Handles shopping cart functionality
- UserServiceImpl: Manages user accounts
- AuthServiceImpl: Handles authentication
- ProductDTO: Product information
- CartDTO: Shopping cart details
- UsersDTO: User account data
- ProductCartDTO: Products within a cart
- AuthRequest/AuthResponse: Authentication data
The application consumes an external REST API (FakeStoreAPI) for all data operations, functioning as a backend-for-frontend layer with additional business logic and transformations.
- Product catalog browsing
- Shopping cart management
- User authentication
- User profile management
- Clone the repository
- Run
mvn clean install - Start the application with
mvn spring-boot:run - Access the API at
http://localhost:8080
- Products:
/api/v1/products - Carts:
/api/v1/cart - Users:
/api/v1/user - Authentication:
/api/v1/auth