Skip to content

Abdullah-Elkasaby/django-bookstore-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ITI-Project-Online-Library

is a web project built with Django. It provides a platform for managing an online library that allows users to search for, filter, and purchase books.

Untitled.video.-.Made.with.Clipchamp.mp4

Getting Started

To run the project locally, follow these steps:

  1. Clone the repository
    git clone https://github.com/Abdullah-Elkasaby/ITI-Project-Online-Library.git
    
  2. Install the required dependencies using pip
     pip install -r requirements.txt 
    
  3. Create the database tables
     python manage.py migrate 
    
  4. Start the development server
    python manage.py runserver 
    

    The project will be available at http://localhost:8000.

Project Structure

The project's directory structure follows Django's recommended best practices, with separate folders for the project settings, applications, and static files.

ITI-Project-Online-Library/
    library/
        migrations/
        static/
            library/
                css/
                img/
                js/
        templates/
            library/
                base.html
                book_detail.html
                book_list.html
                cart.html
                checkout.html
                login.html
                signup.html
        tests/
        __init__.py
        admin.py
        apps.py
        forms.py
        models.py
        urls.py
        views.py
    online_library/
        __init__.py
        settings.py
        urls.py
        wsgi.py
    static/
    templates/
    db.sqlite3
    manage.py
    README.md
    requirements.txt

User Authentication

The application includes user authentication functionality that allows users to register, login, and logout. The authentication system uses Django's built-in authentication views and templates.

  • Registration: Users can register for an account by providing their email, username, and password. The application validates the email and username fields to ensure they are unique, and the password field is hashed and stored securely in the database.

  • Login: Registered users can log in to the application using their email and password. The application checks the provided credentials against the database and grants access if they are valid.

  • Logout: Logged-in users can log out of the application by clicking on the "Logout" button in the navigation bar.

Book Search and Filtering

  • Users can search for books by title or author name using the search bar on the home page. The application also includes filtering functionality that allows users to filter books by category, author, or publisher.

Cart and Checkout

  • Users can add books to their cart and checkout when they are ready to purchase. The application uses Django sessions to store the user's cart data.

Admin Interface

  • The application includes an administrative interface that allows administrators to manage books, categories, authors, and publishers. The admin interface uses Django's built-in admin views and templates.

  • Books: Administrators can add, edit, and delete books using the admin interface. The admin interface provides a form where administrators can enter the book's details, including the title, author, publisher, publication date, category, cover image, and description.

TODOS

  • add ratings, maybe comments too

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published