{"id":18217285,"url":"https://github.com/nailwal08/digitallibrary","last_synced_at":"2026-04-17T03:02:49.633Z","repository":{"id":260802057,"uuid":"882366209","full_name":"nailwal08/digitalLibrary","owner":"nailwal08","description":"Digital Library Project using SpringBoot","archived":false,"fork":false,"pushed_at":"2024-11-02T17:16:47.000Z","size":151,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-13T23:17:22.554Z","etag":null,"topics":["backend","java","maven","springboot","webapp"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nailwal08.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-02T16:32:51.000Z","updated_at":"2024-11-29T17:14:01.000Z","dependencies_parsed_at":"2024-11-02T17:27:01.847Z","dependency_job_id":"7774b010-e364-4ecf-bb06-a8fbc9fa1382","html_url":"https://github.com/nailwal08/digitalLibrary","commit_stats":null,"previous_names":["nailwal08/digitallibrary"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nailwal08%2FdigitalLibrary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nailwal08%2FdigitalLibrary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nailwal08%2FdigitalLibrary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nailwal08%2FdigitalLibrary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nailwal08","download_url":"https://codeload.github.com/nailwal08/digitalLibrary/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247737120,"owners_count":20987714,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","java","maven","springboot","webapp"],"created_at":"2024-11-03T17:04:28.715Z","updated_at":"2026-04-17T03:02:44.609Z","avatar_url":"https://github.com/nailwal08.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Digital Library Management System\n\nThis project is a **Digital Library Management System** built with Spring Boot and MySQL. It provides a streamlined solution for managing a digital library, allowing unique users to borrow books, search for books by various parameters, and enabling admins to manage library resources efficiently.\n\n## Table of Contents\n- [Features](#features)\n- [Technologies Used](#technologies-used)\n- [Project Structure](#project-structure)\n- [Database Schema](#database-schema)\n- [Setup Instructions](#setup-instructions)\n- [API Endpoints](#api-endpoints)\n- [Usage](#usage)\n- [Future Enhancements](#future-enhancements)\n\n---\n\n## Features\n\n- **User Management**:\n  - Registration and authentication of users.\n  - Differentiation between user roles (User and Faculty).\n  - User borrowing quota to limit the maximum number of books a user can borrow.\n  \n- **Book Management**:\n  - Book registration by admin.\n  - Book search by author name, title, or ISBN number.\n  - Borrow and return functionality with real-time updates.\n\n- **Admin Dashboard**:\n  - Track available and borrowed books.\n  - Manage library resources automatically with a simple interface.\n  \n## Technologies Used\n\n- **Backend**: Java, Spring Boot\n- **Database**: MySQL\n- **API Testing**: Postman\n- **Dependencies**:\n  - Spring Boot Starter Web\n  - MySQL Driver\n  - Spring Data JPA with Hibernate and Hibernate Envers for auditing\n\n---\n\n## Project Structure\n\nThis is a typical **Maven project** with the following main components:\n\n- **Controller**: Handles API endpoints and user requests.\n- **Entities**: Contains entity classes representing the database tables.\n- **Repository**: Interfaces for database operations using JPA.\n- **Service**: Business logic of the application.\n- **Exception Handling**: Custom exception classes to manage application errors.\n\n---\n\n## Database Schema\n\nThe MySQL database contains the following main tables:\n\n- **Users**: Stores user information, including role, borrow quota, etc.\n- **Books**: Contains book details (author, title, ISBN number).\n- **Borrowed Books**: Tracks which books are currently borrowed by each user.\n\n---\n## src/main/resources/application.properties\n\nspring.application.name=your_project_name\nspring.datasource.url=your_DB_url\nspring.datasource.username=your_username\nspring.datasource.password=your_password\nspring.jpa.hibernate.ddl-auto=update\nspring.jpa.show-sql=true\nauthority.admin=admin\nspring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect\nstudent.book.quota=3\n\n---\nmvn clean install\n---\nContributions are welcome! Please fork the repository and create a pull request with your updates.\n---\n## License\nThis project is licensed under the MIT License. See the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnailwal08%2Fdigitallibrary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnailwal08%2Fdigitallibrary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnailwal08%2Fdigitallibrary/lists"}