Library Management System is built using Django and provides essential functionalities for managing books, users, and transactions efficiently.
This project is designed to help users manage a library system with features such as book browsing, borrowing, returning, and reservations. Administrators can manage books, users, and fines seamlessly.
- Backend: Django, Django REST Framework (DRF)
- Database: SQLite
- Authentication: Django's built-in authentication system
- User Registration & Authentication (Sign up, Login, Logout, Password Reset)
- Browse, Search, and Filter Books
- Borrow and Return Books
- Manage Book Reservations
- View Borrowing History and Fines
- Manage Books (Add, Edit, Delete)
- Manage Users
- Manage Fines and Borrowing Records
project_root/
│── library_management/ # Main Django app
│ ├── models.py # Database models
│ ├── views.py # API views
│ ├── serializers.py # API serializers
│ ├── urls.py # API endpoints
│── db.sqlite3 # SQLite database file
│── manage.py # Django management script
│── requirements.txt # Project dependencies
- Python 3.x
- Django
- Clone the repository:
git clone https://github.com/your-username/library-management.git cd library-management - Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows use: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Apply database migrations:
python manage.py migrate
- Create a superuser:
python manage.py createsuperuser
- Run the development server:
python manage.py runserver
- Access the API at:
http://127.0.0.1:8000/ - Admin panel:
http://127.0.0.1:8000/admin/
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/auth/signup/ |
Register a new user |
| POST | /api/auth/login/ |
Login user |
| GET | /api/books/ |
List all books |
| GET | /api/books/<id>/ |
Retrieve a book |
| POST | /api/books/borrow/ |
Borrow a book |
| POST | /api/books/return/ |
Return a book |
| GET | /api/history/ |
View borrowing history |
| POST | /api/payment/ |
payment through paystack |
- Email notifications for due dates
- Integrate payment system for fines
- Advanced book recommendation system
Want to contribute? Fork the repo, create a feature branch, and submit a PR!
This project is licensed under the MIT License.