Library Management
A basic library management system with a custom API using the Frappe framework.
- Author: EyobABN
- Repository: https://github.com/EyobABN/library-management
- GitHub stars: 0
- Forks: 0
- License: MIT
- Category: Other
- Maintenance: Unmaintained
Install Library Management
bench get-app https://github.com/EyobABN/library-management
Add the Frappe Gems badge to your README
Maintain Library Management? Paste this into your README:
[](https://frappegems.com/gems/apps/EyobABN/library-management)
About Library Management
Library Management System
A basic library management system with a custom API, built using the Frappe framework. This system manages books, members, and loans in a library.
Installation
Make sure Bench is installed on your machine. If you haven't installed Bench, follow the official installation guide to install Bench in development mode.
Initialize the Frappe bench
bench init [bench-name]Go to the newly created bench directory
cd [bench-name]Create a new site
bench new-site [site-name]Download and add this app to the bench
bench get-appInstall this app on your newly created site
bench --site [site-name] install-app [app-name]Add the site to hosts
bench --site [site-name] add-to-hostsStart the development server
bench start
Features
- Book Management:
- [x] The Book DocType has the fields: Title, Author, Genre, Publication Year, ISBN, and Image.
- [x] CRUD operations available via custom API.
- Membership Management:
- [x] The Member DocType has the fields: Name, Membership ID, Email, Phone Number, and Image.
- [x] CRUD operations available via custom API.
- Loan Management:
- [x] The Loan DocType tracks book loans and has the fields: Member, Book, Loan Date, Return Date, Overdue, and Returned.
- [x] The Overdue and Returned fields are read-only and are calculated automatically whenever the document is saved.
- [x] Validation has been implemented.
- User Interface:
- [x] Has intuitive forms for data entry and display.
- [x] Validation has been implemented.
- Authentication and Role Management:
- [x] Users can log into the app
- [x] Only users with the Librarian role are able to add, loan, modify, and delete books.
- Reports:
- Create a report for all currently loaned books
- Generate a report for overdue books
- Advanced Features:
- [x] User authentication and role management (admin, librarian, member)
- Automated email reminders for overdue books
- Feature for members to reserve books
Custom API
- The custom REST API allows external applications to interact with the library system.
- The API supports operations like adding, retrieving, updating, and deleting books, members and loans.
- The API includes authentication to secure access.
API Endpoints
| Endpoint | Role | Purpose |
|---|---|---|
| /api/method/librarymanagement.api.bookapi.get_books | Anyone | Retrieves the list of books that the library has |
| /api/method/librarymanagement.api.bookapi.create_book | Librarian | Creates a new book |
| /api/method/librarymanagement.api.bookapi.get_book | Anyone | Retrieves a single book |
| /api/method/librarymanagement.api.bookapi.update_book | Librarian | Updates a book |
| /api/method/librarymanagement.api.bookapi.delete_book | Librarian | Deletes a book |
| /api/method/librarymanagement.api.memberapi.get_members | Librarian | Returns the list of members currently registered at the library |
| /api/method/librarymanagement.api.memberapi.create_member | Librarian | Creates a new member |
| /api/method/librarymanagement.api.memberapi.get_member | Librarian | Retrieves a single member |
| /api/method/librarymanagement.api.memberapi.update_member | Librarian | Updates a member |
| /api/method/librarymanagement.api.memberapi.delete_member | Librarian | Deletes a member |
| /api/method/librarymanagement.api.loanapi.get_loans | Librarian | Returns the list of loans |
| /api/method/librarymanagement.api.loanapi.create_loan | Librarian | Creates a new loan |
| /api/method/librarymanagement.api.loanapi.get_loan | Librarian | Retrieves a single loan |
| /api/method/librarymanagement.api.loanapi.update_loan | Librarian | Updates a loan |
| /api/method/librarymanagement.api.loanapi.delete_loan | Librarian | Deletes a loan |
License
MIT
Related Other apps for Frappe & ERPNext
- Erpnext — Free and Open Source Enterprise Resource Planning (ERP)
- Helpdesk — Modern, Streamlined, Free and Open Source Customer Service Software
- Print Designer — Visual print designer for Frappe / ERPNext
- Ctr — CTR模型代码和学习笔记总结
- Whitelabel — Whitelabel ERPNext
- Fossunited — fossunited.org
- Helm — Helm Chart Repository for Frappe/ERPNext
- Frappe Attachments S3 — A frappe app to upload file attachments in doctypes to s3.