The Online Book Store Application is a web-based system that allows users to browse, search, and purchase books online. It is built using the following technologies:
-
- Java: The core programming language used for development.
- Spring Boot: A Java framework used to build the application.
- Maven: Apache Maven is a software project management and comprehension tool.
- Mockito: A testing framework used for unit testing.
- MapStruct: A Java-based code generation tool used for mapping between objects.
- Docker: Used for containerization and deployment of the application.
- JWT (JSON Web Tokens): Used for authentication and security.
- MySQL: A relational database management system used to store book and user information.
- Lombok: A library used to reduce boilerplate code.
- Liquibase: A database migration tool used for managing database schema changes.
- User Registration and Authentication.
- Browse and Search Books.
- View Book Details.
- Add Books to Cart.
- View Cart Items.
- View Order History.
- config : config classes for mappers and security
- controller : http controllers
- dto : data transfer objects for http responses and requests
- exception : custom exceptions and CustomGlobalExceptionHandler.java for handling exceptions
- mapper : mappers for converting entities into DTOs and vice versa
- model : entity classes used in app
- repository : repositories for CRUD operations with database
- security : classes to implement security into project
- service : classes for business logic
- validation : custom validation annotations
- Main class : class to run application
- db.changelog : directory with liquibase scripts for managing database
- changes : liquibase scripts
- changelog-master : file to run scripts
- application.properties : application configurations
- application test : classes for testing app
- test/resources : test resources
- database : sql scripts used in testing
- test/application.properties : test application configurations
- .env : contains credentials for docker database connection
- checkstyle.xml : checkstyle rules file
- docker-compose.yml : with a single command, you create and start all the services from your configuration thanks to this file
- dockerfile : docker configurations
- pom.xml : maven configurations
- Clone the repository🔗:
[email protected]:fmIst0/online-book-store.git
- Build project with Maven
Ⓜ️ :mvn clean intall
- Ensure you have Docker🐳 installed on your system
- Open terminal and run the application using
Docker Compose with command :
docker-compose up
- Use Postman and Swagger to explore the application🥳
- In terminal write
docker-compose down
to stop containers
Or try to test with Swagger📍
{
"email": "[email protected]",
"password": "1234567890"
}