A Django-based web application designed to streamline library operations, including managing books, users, and borrowing processes. This project incorporates modular design and role-based functionalities to ensure scalability and maintainability.
- Introduction
- Features
- Installation
- Usage
- File Structure
- Dependencies
- Configuration
- Testing
- Contributors
- License
The Library Management System is a full-stack application built with Django to automate library operations. It includes modules for managing books, users, and administrative tasks, along with support for user authentication and blogs.
- Book Management: Add, update, delete, and categorize books.
- User Authentication: Secure login and profile management.
- Borrowing System: Track borrowed books and manage returns.
- Admin Dashboard: Centralized management for administrators.
- Blog Integration: Share articles and updates via the blog module.
- Media Support: Handle book images, profile pictures, and uploads.
- Role-Based Access: Separate functionalities for users, librarians, and administrators.
Ensure your environment meets the following requirements:
- Python: Version 3.8 or higher
- Django: Version 3.2 or higher
- Database: SQLite (default) or configure for PostgreSQL/MySQL
- Pip: Python package manager
-
Clone the Repository:
git clone https://github.com/YourUsername/LibraryManagement.git
-
Navigate to the Project Directory:
cd LibraryManagement -
Create a Virtual Environment:
python3 -m venv env source env/bin/activate # On Windows, use `env\Scripts�ctivate`
-
Install Dependencies:
pip install -r requirements.txt
-
Apply Migrations:
python manage.py makemigrations python manage.py migrate
-
Run the Development Server:
python manage.py runserver
-
Access the Application: Open your browser and visit
http://127.0.0.1:8000.
-
Admin Module:
- Manage users, books, and borrowing records.
- Access dashboard via
/admin.
-
Books Module:
- Browse, add, and categorize books.
- Manage borrowing processes.
-
Accounts Module:
- User registration and authentication.
- Manage user profiles.
-
Blog Module:
- Create and view blog posts.
- Engage with library members.
LibraryManagement/
├── Admin/ # Administrative functionalities
├── Books/ # Core module for book management
├── Groups/ # Group-based roles or permissions
├── accounts/ # User authentication and profiles
├── blog/ # Blog-related features
├── media/ # Uploaded media files
├── requirements.txt # Python dependencies
├── manage.py # Django management script
└── README.md # Documentation
Install the required dependencies from requirements.txt:
pip install -r requirements.txtKey dependencies include:
- Django: Framework for web development.
- Pillow: Image processing.
- Django Signals: Event-driven programming within Django.
Update the project settings in MyLibrary/settings.py for:
- Database Configuration:
- Default: SQLite
- For PostgreSQL/MySQL: Update
DATABASESsettings.
- Media and Static Files:
- Ensure
media/andstatic/directories are configured correctly.
- Ensure
- Secret Key:
- Replace the default key in
settings.pywith a secure key.
- Replace the default key in
Run tests using Django's testing framework:
python manage.py test- Mostafa Allam - Developer and Maintainer
This project is licensed under the MIT License. See the LICENSE file for details.
We welcome feedback and contributions. Please fork the repository and submit a pull request for improvements.