{"id":31320606,"url":"https://github.com/jashjani02/library-management-system","last_synced_at":"2026-05-03T15:35:43.603Z","repository":{"id":316547224,"uuid":"1061428509","full_name":"JashJani02/Library-Management-System","owner":"JashJani02","description":"A Flask-based Library Management System that supports CRUD operations on Books and Users, along with Borrow \u0026 Return functionality, accessible via REST API and a simple web interface.","archived":false,"fork":false,"pushed_at":"2025-09-25T08:17:54.000Z","size":271,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-25T09:21:57.852Z","etag":null,"topics":["bash","bash-script","curl","flask-application","html-css","python","python3","tailwindcss"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JashJani02.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-21T22:04:52.000Z","updated_at":"2025-09-25T08:17:58.000Z","dependencies_parsed_at":"2025-09-25T09:21:59.246Z","dependency_job_id":"02abe7ee-c768-4672-b3fb-aa3a8f1ff2fd","html_url":"https://github.com/JashJani02/Library-Management-System","commit_stats":null,"previous_names":["jashjani02/library-management-system"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/JashJani02/Library-Management-System","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JashJani02%2FLibrary-Management-System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JashJani02%2FLibrary-Management-System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JashJani02%2FLibrary-Management-System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JashJani02%2FLibrary-Management-System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JashJani02","download_url":"https://codeload.github.com/JashJani02/Library-Management-System/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JashJani02%2FLibrary-Management-System/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276953985,"owners_count":25734618,"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","status":"online","status_checked_at":"2025-09-25T02:00:09.612Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["bash","bash-script","curl","flask-application","html-css","python","python3","tailwindcss"],"created_at":"2025-09-25T16:51:24.828Z","updated_at":"2025-09-25T16:51:28.116Z","avatar_url":"https://github.com/JashJani02.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Library Management System\n\u003cp\u003eA full-stack Library Management System built with Flask and TailwindCSS for styling.\nThis project demonstrates server–client separation with both API endpoints (for programmatic access) and a web-based UI (for users and librarians).\u003c/p\u003e\n\n## Tech-Stack\n\u003col\u003e\u003cli\u003ePython (Flask)\u003c/li\u003e\u003cli\u003eHTML\u003c/li\u003e\u003cli\u003eCSS (Tailwind)\u003c/li\u003e\u003cli\u003ecurl (for API testing)\u003c/li\u003e\u003c/ol\u003e\n\n## Project Structure\n```mermaid\n\ngraph TD\n    subgraph Library Management\n\n        app.py\n\n        subgraph templates/\n        base.html\n        home.html\n\n        subgraph admin/\n        dashboard.html\n        books_admin.html\n        users_admin.html\n        end\n\n        subgraph user/\n        user_dashboard.html\n        books_user.html\n        end\n\n\n        end\n\n\n\n        subgraph models/\n            _init_.py\n            book.py\n            user.py\n            library.py\n            user_manager.py   \n        end\n        subgraph services/\n            __init__.py\n            book_api.py\n            book_service.py\n            user_service.py\n\n\n        end\n\n        subgraph routes/\n            init.py\n            admin_routes.py\n            user_routes.py\n\n        subgraph api/\n            __init__.py\n            books.py\n            users.py\n        end\n        end\n\n\n        subgraph tests/\n            test_api.sh\n        end\n\n    \n\n    end\n\n\n```\n### Image of the Project Structure\n\n\n\u003cimage src=\"Project-Structure.png\" width=350px height=700px\u003e\n\n\n## Features\n\u003col\u003e\n\u003cli\u003e\n\u003cul\u003eBook Management\n\u003cli\u003eAdd, view, search, and delete books\u003c/li\u003e\n\u003cli\u003eTrack availability (borrowed vs available)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\n\u003cbr\u003e\n\n\u003cli\u003e\n\u003cul\u003eUser Management\n\u003cli\u003eAdd, view, and delete users\u003c/li\u003e\n\u003cli\u003eTrack borrowed books per user\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\n\u003cbr\u003e\n\n\u003cli\u003e\n\u003cul\u003eBorrow \u0026 Return System\n\u003cli\u003eUsers can borrow available books\u003c/li\u003e\n\u003cli\u003eReturn borrowed books and free them up for others\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\n\u003cbr\u003e\n\n\u003cli\u003e\n\u003cul\u003eAPI-Endpoints\n\u003cli\u003eREST-style JSON APIs for books and users\u003c/li\u003e\n\u003cli\u003eTested via \u003ccode\u003ecurl\u003c/code\u003e and \u003ccode\u003etest_api.sh\u003c/code\u003e script\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\n\u003cbr\u003e\n\n\u003cli\u003e\n\u003cul\u003eAdmin Interface\n\u003cli\u003eDashboard with total books and users\u003c/li\u003e\n\u003cli\u003eManage books and users through forms\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\n\u003cbr\u003e\n\n\u003cli\u003e\n\u003cul\u003eUser Interface\n\u003cli\u003eUser dashboard with profile info\u003c/li\u003e\n\u003cli\u003eBrowse available books\u003c/li\u003e\n\u003cli\u003eView borrowed books\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\n## Workflow\n\u003col\u003e\u003cli\u003eServer initialization\n\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eapp.py\u003c/code\u003esets up Flask and configures global singletons:\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eLibrary\u003c/code\u003e manages all the books\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eUserManager\u003c/code\u003e manages all the users\u003c/li\u003e\n\n\u003c/ul\u003e\n\n\u003c/li\u003e\u003cbr\u003e\n\n\u003cli\u003eModels Layer (models/)\n\n\u003cul\u003e\n\u003cli\u003eBook - represents a single book (title, author, ISBN, etc.)\u003c/li\u003e\n\u003cli\u003eLibrary – manages a collection of books (add, delete, borrow, return)\u003c/li\u003e\n\u003cli\u003eUser – represents a library user (profile + borrowed books)\u003c/li\u003e\n\u003cli\u003eUserManager – manages all users\u003c/li\u003e\n\n\u003c/ul\u003e\n\n\u003c/li\u003e\u003cbr\u003e\n\n\u003cli\u003eRouting Layer(routes/)\n\n\u003cul\u003e\n\u003cli\u003eAPI Routes \u003ccode\u003e/api/...\u003c/code\u003e - JSON endpoints for programmatic access\n\u003cul\u003e\u003cli\u003e\u003ccode\u003e/api/books\u003c/code\u003e - CRUD Operations on books\u003c/li\u003e\u003cli\u003e\u003ccode\u003e/api/users\u003c/code\u003e - CRUD Operations on users \u0026 borrow/return actions\u003c/li\u003e\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdmin Routes \u003ccode\u003e(/admin/...)\u003c/code\u003e – librarian dashboard \u0026 book/user management\u003c/li\u003e\n\u003cli\u003eUser Routes \u003ccode\u003e(/user/...)\u003c/code\u003e – user dashboard, profile info, browse/borrow books\u003c/li\u003e\n\n\u003c/ul\u003e\n\n\u003c/li\u003e\u003cbr\u003e\n\n\u003cli\u003eServices Layer(services/)\n\n\u003cul\u003e\n\u003cli\u003ePlaceholder for integrating external APIs (e.g., Google Books, OpenLibrary)\u003c/li\u003e\n\u003cli\u003eCan extend functionality without touching core models\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003c/li\u003e\u003cbr\u003e\n\n\u003cli\u003eFrontend(templates/ + static/)\u003c/li\u003e\n\n\u003cul\u003e\n\u003cli\u003eAdmin UI – dashboards for librarians to manage books and users\u003c/li\u003e\n\u003cli\u003eUser UI – dashboards for users to browse and borrow books\u003c/li\u003e\n\n\u003c/ul\u003e\n\n\u003cbr\u003e\n\n\u003cli\u003eTesting(tests/)\n\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003etest_api.sh\u003c/code\u003e runs a sequence of curl requests\u003cul\u003e\u003cli\u003eAdd users/books\u003c/li\u003e\u003cli\u003eBorrow/return flow\u003c/li\u003e\u003cli\u003eCheck admin and user pages\u003c/li\u003e\u003c/ul\u003e\u003c/li\u003e\n\u003cli\u003eConfirms both API and HTML endpoints are functional\u003c/li\u003e\n\n\n\u003c/ul\u003e\n\n\u003c/li\u003e\u003c/ol\u003e\n\n## Future Improvements\n\u003col\u003e\u003cli\u003eAdd user authentication \u0026 roles (librarian vs user)\u003c/li\u003e\u003cli\u003eImprove UI with Tailwind components (modals, tables, forms)\u003c/li\u003e\u003cli\u003eExtend services with external APIs (Google Books, OpenLibrary)\u003c/li\u003e\u003c/ol\u003e\n\n\n\n## TL;DR\n\u003cp\u003eA Flask-based Library Management System that supports CRUD operations on Books and Users, along with Borrow \u0026 Return functionality, accessible via REST API and a simple web interface.\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjashjani02%2Flibrary-management-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjashjani02%2Flibrary-management-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjashjani02%2Flibrary-management-system/lists"}