A full-featured digital library platform built with Django. This system allows users to manage their accounts, browse a catalog of books, and handle borrowing and returning transactions through a personal wallet system.
This Library Management System is a robust web application designed to digitize and streamline the core functionalities of a physical library. Built on the powerful Django framework, it provides a seamless experience for both library members and administrators.
The project's architecture demonstrates a clear separation of concerns, with dedicated Django apps for handling user accounts, book catalogs, categories, and financial transactions. A key feature is the integrated user wallet system, which requires users to deposit funds before they can borrow books, simulating a real-world library membership or fee-based model.
- Secure Registration & Authentication: Full user registration, login, and logout capabilities with password management.
- Dynamic Book Catalog: A comprehensive display of available books, filterable by category.
- Book Returning System: Users can return borrowed books from their profile, which makes the book available for others.
- Django Admin Panel: A powerful backend interface for complete control over the library's data.
- Book & Category Management: Administrators can easily add, update, and delete books and categories.
- Python 3.10: Core programming language.
- Django 5.2: High-level web framework for rapid, secure, and scalable development.
- Django Crispy Forms: For creating elegant and DRY forms.
- HTML5: Standard markup language for creating web pages.
- CSS3: Styling for visual design and layout.
- Bootstrap 5: Popular CSS framework for responsive.
Follow these instructions to get a copy of the project up and running on your local machine for development and testing.
- Python 3.10
- Git
-
Clone the Repository
git clone https://github.com/roniahamed/Library_Management.git cd Library_Management -
Create and Activate a Virtual Environment
python -m venv env source env/bin/activate # On Windows use: env\Scripts\activate
-
Install Dependencies
pip install -r requirements.txt
-
Apply Database Migrations
python manage.py makemigrations python manage.py migrate
-
Create a Superuser
- This account will have access to the Django Admin panel.
python manage.py createsuperuser
-
Run the Development Server
python manage.py runserver
-
Access the Application
- Main Site: Open your web browser and go to
http://127.0.0.1:8000/ - Admin Panel: Navigate to
http://127.0.0.1:8000/admin/and log in with your superuser credentials.
- Main Site: Open your web browser and go to
- REST API: Develop a RESTful API using Django REST Framework to support a mobile application or other clients.
- Caching: Integrate Redis for caching frequently accessed data to improve performance.
- Containerization: Add Docker and Docker Compose files for easier setup and deployment.
- Automated Testing: Write unit and integration tests to ensure code quality and reliability.
- CI/CD Pipeline: Set up a continuous integration/continuous deployment pipeline using GitHub Actions.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Roni Ahamed
- GitHub: @roniahamed
- LinkedIn: Connect with me
⭐ If you find this project useful, please consider giving it a star on GitHub!
This project was built with a passion for clean code and robust back-end solutions.