Description: Create an online bookstore application using Java Spring Boot.
This project will cover various aspects of Spring Boot and provide opportunities for learning and practicing different features and technologies.
Implement user registration and login functionality using Spring Security for user authentication and authorization.
Develop a product catalog where users can browse and search for books.
Each book should have attributes like title, author, description, price, and availability.
Allow users to add books to their shopping cart.
Implement CRUD operations for the cart and ensure that users can review and modify their selections.
Enable users to place orders, including multiple books, and handle order confirmation and status updates.
Implement a feature that allows users to favorite books.
Create an admin panel where administrators can manage products, orders, and user accounts.
Implement advanced search and filtering options for users to find books based on criteria like genre, author, or price range.
Implement pagination to display a limited number of results on each page, improving the user experience.
- Tests: Implement mock and integration tests to ensure the features of the project are working as intended.
Try to keep the coverage as high as time constraints allow. - Clean, well-documented and maintainable code
- Javadoc, Checkstyle and formatter integration
- Project should be on GitHub
- A REST API design and a database design should accompany the project.
- README file should be included and fixed to be a nice Markdown file
This is a Spring Boot project using a PostgreSQL Docker Container.
- IntelliJ IDEA
- Docker & Docker Desktop (recommended)
- Open the project
- Check Docker is up.
- Run the main BooksStoreApplication
API path http://localhost:8080