The Library Management System is a web application built using Django that allows users to manage books, request books, view details, and track book loans. It includes both user and admin features, such as account management, book borrowing, and request approval.
You can access the live application here:
Library Management System
For admin (librarian) access:
- Username: sreeg
- Password: @Sreegandh381
- Time Spent: ~5-6 hours
- Focused on clean, modular code, prioritizing functionality over advanced design.
- Used tools like GitHub Copilot and ChatGPT for assistance.
- Future improvements would focus on UI enhancements and adding advanced features.
- Users can borrow books freely without admin approval.
- No penalties for overdue books.
- Only logged-in users can view and request books.
library/
├── settings.py # Project settings
├── urls.py # Project URL configurations
├── wsgi.py # WSGI configuration for deployment
└── asgi.py # ASGI configuration for deployment
myapp/
├── migrations/ # Django migrations for the app
├── models.py # Database models
├── views.py # Views for rendering templates
├── forms.py # User input forms
├── urls.py # App-specific URL configurations
├── templates/ # HTML templates
└── apps.py # App configuration
└── admin.py # Admin configurations for models
-
Clone the Repository:
git clone https://github.com/sreegandh804/LibraryManagement.git cd LibraryManagement
-
Create a Virtual Environment:
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
-
Install Dependencies:
pip install -r requirements.txt
-
Apply Migrations:
python manage.py migrate
-
Create a Superuser:
python manage.py createsuperuser
-
Start the Development Server:
python manage.py runserver
-
Open your browser and go to
http://127.0.0.1:8000/
to access the application.
- User Authentication: Users can sign up, log in, and view their profiles.
- Admin Panel: Admins can manage books, book requests, and user information.
- Book Management: Users can view, request, check out, and return books.
- Book Requests: Users can request unavailable books, and admins can approve/decline them.
- Overdue Tracking: Admins can track overdue books and send reminders.
In a future version, the following features would be added:
- Advanced Search Filters: Search by genres, ratings, or authors.
- Book Categories and Tags: Categorize and tag books for improved searches.
- Email Notifications: Automatic notifications for overdue books and new book availability.
- Late Fee System: Implement a fee system for overdue books.
- Custom Admin Panel: A custom admin panel with analytics and user management.
- Responsiveness & Beautification: Improve CSS and UI for better responsiveness.
- Testing: Add unit and integration tests for critical features.
- User Roles: Implement different user roles (Admin, Librarian, User) with specific permissions.