Welcome to the BookStore application, a simple and comprehensive platform for book lovers and administrators to manage and explore books. This application features a robust authentication and authorization system to ensure a secure and personalized experience for every user.
- View Books: Public users can view all books with their synopsis.
- Sign Up: Create an account to access more features.
- Full Book Content: After signing in, users can view the complete content of books.
- Edit Books: Modify book details.
- Manage Availability: Update book availability status.
- Delete Books: Remove books from the system.
- User Management: Create new users and view all users.
-
Regular User
- email:
[email protected]
- password:
B00kSt0r3Df@Pwd
- email:
-
Admin User
- email:
[email protected]
- password:
B00kSt0r3Df@Pwd
- email:
-
Super Admin User
- email:
[email protected]
- password:
B00kSt0r3Df@Pwd
- email:
- Java 17 or higher
- Maven
- Spring Boot (3.1.1)
- H2 Database
- Swagger UI
-
Clone the repository:
- HTTPS:
git clone https://github.com/ikechiU/bookstore.git
- SSH:
git clone [email protected]:ikechiU/bookstore.git
- HTTPS:
-
Set up the database:
The application uses the H2 database for both runtime and testing, ensuring a lightweight and easy-to-set-up environment.
-
Build the project:
mvn clean install
-
Run the application:
mvn spring-boot:run
-
Run the tests:
mvn test
- Profile: The application is configured to use two active profiles 'bookstore' and 'dev'.
- Database Configuration: The application is configured to use the H2 database out-of-the-box. The default settings are specified in application-dev.properties and application-test.properties.
- Permissions: Permissions are preloaded at startup.
- Default Users: Default users are created when the application starts.
- Dummy Books: The system comes with dummy books uploaded during initial startup.
- Swagger Integration: This application includes Swagger for easy API documentation and testing. Swagger provides an interactive interface where you can explore and interact with the application's endpoints.
- Accessing Swagger UI Once the application is running, you can access the Swagger UI at the following URL: http://localhost:4040/documentation/swagger-ui/index.html
- Contributions are welcome! Please fork the repository and create a pull request with your changes.
Ikechi Ucheagwu