This project is an online library management system built using Java, Spring Boot, Hibernate, and PostgreSQL. It provides a RESTful API and includes Swagger for API documentation.
- CRUD Operations: Manage books and book groups.
- User Requests: Users can request new books.
- Admin Role: An admin user with full access to the system.
- JWT Authentication: Secure user authentication with JSON Web Tokens.
- Shopping Cart: Users can add items to a cart and place orders for books.
- Programming Language: Java 17
- Frameworks: Spring Boot, Hibernate
- Database: PostgreSQL
- API Documentation: Swagger
- Authentication: JWT (JSON Web Token)
-
Clone the repository:
git clone https://github.com/Alireza12ss/library_Managment.git
-
Navigate to the project directory:
cd library_Managment -
Configure the PostgreSQL database in
application.properties:spring.datasource.url=jdbc:postgresql://localhost:5432/your_database spring.datasource.username=your_username spring.datasource.password=your_password
-
Build the project:
./mvnw clean install
-
Run the project:
./mvnw spring-boot:run
-
Access the Swagger API documentation at:
-
Use the provided endpoints to:
- admin initialize first and you can access with ("admin" , "admin") username and password :)
- Perform CRUD operations on books and book groups.
- Sign up, log in, and request new books as a user.
- Manage all aspects of the library as an admin.
Contributions are welcome! Follow these steps to contribute:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Commit your changes and push to your branch.
- Submit a pull request for review.
This project is licensed under the MIT License. See the LICENSE file for details.