Boooks is a library management system that is designed to manage all the functions of a library.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
Boooks is a library management system that is designed to manage all the functions of a library. It helps the librarian to maintain the database of new books and the books that are borrowed by the members along with their due dates.
This system completely automates all your library's activities. The best way to maintain, organize and handle countless books systematically is to implement a library management system software.
You can find books in an instant, issue/reissue books quickly, and manage all the data efficiently and orderly using this system. The purpose of a library management system is to provide instant and accurate data regarding any type of book, thereby saving a lot of time and effort.
- Authentication: Authentication includes registration of new librarians, allowing them to log in and log out of the system. It also provides functionality for librarians to change their password and recover forgotten passwords.
- Librarian management: Librarian management allows the retrieval of details for all librarians. It provides the ability to activate or inactivate librarians and also supports the deletion of inactivated librarians.
- Author management: Author management enables users to view all authors and browse all books written by a specific author.
- Book management: Book management facilitates the retrieval of details for all books in the library. It allows users to obtain information about a specific book and provides functionality to add, update, and delete books in the library.
- Fine management: Fine management includes the retrieval of fine details. It allows the configuration of the number of days after which fines should be collected and the amount to be charged per day as a fine.
- Book issuing and returning: Book issuing and returning functionality enables librarians to issue books to library members and manage the return of books to the library.
- Log management: Log management provides the ability to maintain and view the library log.
- Member management: Member management allows the retrieval of details for all library members. It supports obtaining information about a specific member and provides functionality to add, update, and delete library members. It also tracks the books currently held by each member.
- Search functionality: Search functionality allows users to search for books based on title and author. It also enables the search for members based on their name, email, and phone number.
- Security: Security measures include the implementation of authentication tokens for API security and the use of refresh tokens for session security.
- Swagger API documentation: Access detailed documentation of the available APIs using Swagger.
- Actuator: Monitor and manage the application using Actuator endpoints.
- Clone the repository:
git clone
thehackermonk/Boooks - Navigate to the project directory:
cd boooks
- Build the project:
mvn clean install
- Start the application:
mvn spring-boot:run
or run theBoooksApplication
class. - Access the application in your browser:
http://localhost:8080
- View API documentation: Swagger UI
- List of available endpoints, request/response formats, and authentication requirements can be found in the Swagger documentation.
- Expose available caches: /actuator/caches
- Show the conditions that were evaluated on configuration and auto-configuration classes and the reasons why they did or did not match: /conditions
- Display a collated list of all @ConfigurationProperties: /actuator/configprops
- Expose properties from Spring's ConfigurableEnvironment: /actuator/env
- Check the application health: /actuator/health
- Display application information: /actuator/info
- Show 'metrics' information for the current application: /actuator/metrics
Contributions are welcome! If you'd like to contribute to Boooks, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them.
- Push your changes to your forked repository.
- Submit a pull request describing your changes.
This project is licensed under the GNU General Public License v3.0.
Karthik Prakash - @thehackermonk