Skip to content

MostafaAllam-start/LibraryManagement

 
 

Repository files navigation

Library Management System

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.


Table of Contents

  1. Introduction
  2. Features
  3. Installation
  4. Usage
  5. File Structure
  6. Dependencies
  7. Configuration
  8. Testing
  9. Contributors
  10. License

Introduction

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.


Features

  • 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.

Installation

Prerequisites

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

Steps

  1. Clone the Repository:

    git clone https://github.com/YourUsername/LibraryManagement.git
  2. Navigate to the Project Directory:

    cd LibraryManagement
  3. Create a Virtual Environment:

    python3 -m venv env
    source env/bin/activate  # On Windows, use `env\Scripts�ctivate`
  4. Install Dependencies:

    pip install -r requirements.txt
  5. Apply Migrations:

    python manage.py makemigrations
    python manage.py migrate
  6. Run the Development Server:

    python manage.py runserver
  7. Access the Application: Open your browser and visit http://127.0.0.1:8000.


Usage

Modules and Functionalities

  1. Admin Module:

    • Manage users, books, and borrowing records.
    • Access dashboard via /admin.
  2. Books Module:

    • Browse, add, and categorize books.
    • Manage borrowing processes.
  3. Accounts Module:

    • User registration and authentication.
    • Manage user profiles.
  4. Blog Module:

    • Create and view blog posts.
    • Engage with library members.

File Structure

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

Dependencies

Install the required dependencies from requirements.txt:

pip install -r requirements.txt

Key dependencies include:

  • Django: Framework for web development.
  • Pillow: Image processing.
  • Django Signals: Event-driven programming within Django.

Configuration

Update the project settings in MyLibrary/settings.py for:

  • Database Configuration:
    • Default: SQLite
    • For PostgreSQL/MySQL: Update DATABASES settings.
  • Media and Static Files:
    • Ensure media/ and static/ directories are configured correctly.
  • Secret Key:
    • Replace the default key in settings.py with a secure key.

Testing

Run tests using Django's testing framework:

python manage.py test

Contributors

  • Mostafa Allam - Developer and Maintainer

License

This project is licensed under the MIT License. See the LICENSE file for details.


Feedback

We welcome feedback and contributions. Please fork the repository and submit a pull request for improvements.

About

This is the final project for ITI summer training python open source track

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • CSS 55.8%
  • HTML 26.6%
  • JavaScript 9.7%
  • Python 7.9%