/Django-online-shop-Project

Maktab-89 Django final project

Primary LanguageCSS

Django online shop Project

this project is about a simple online shop.

Table of Contents

General Information

This project is actually an online shop where admins can manage products and users and users can make purchases, that was done as the final project of my Python- Django course.

Technologies Used

  • Python - version 3.9 & 3.10
  • Django - version 4.1.9
  • Django Rest Framework - version 3.14.0
  • Postgre SQL - version 15.0
  • HTML & CSS - version 5.0
  • JavaScript - version 1.5

Features

List the ready features here:

  • Great user experience
  • discount coupons supported
  • Use JWT to improve its security
  • User login with OTP (email and mobile phone) provided. (note: Because Celery is used in the otp sending process and Celery does not have an official version for Windows, it is highly recommended to load the project on Linux to get the best performance.)

Screenshots

  • Homepage with showing discounted products

homepage

  • Admin panels

admin panel2 admin panel

  • Cart page

cart

  • Review order page

review order

  • Profile pages:

    • User information page

    profile

    • User Change password page

    change pass

    • User addresses page

    user addresses

    • User orders list page

    user order page

    • User orders details page

    each order detail

    • User order tracking page

    tracking order

  • User register / login pages:

    • Register page

    register page

    • Login page

    login_page

    • Login with OTP page

    OTP

Setup

This project has several requirement packages that listed in requirements.txt file in project root directory.

To start work with project:

1- Clone the project repo with git clone.

clone

2- Cd to project root directory "src" and create a virtual environment.

3- Activate virtual environment.

4- Install project requirement packages with pip install -r requirements.txt

5- Create a db in postgres with name "odexshop"

6- Create a secrets.py file in src/config directory and place your own SECRET_KEY, EMAIL_HOST_USER, EMAIL_HOST_PASSWORD, DATABASE_PASSWORD and API_KEY for otp SMS sending API parameters in it.

secrets

7- Create migration files with python manage.py makemigrations

8- Migrate with python manage.py migrate

9- Create a superuser account with python manage.py createsuperuser and enter the requested items.

10- Run it with python manage.py runserver

Project Status

Project is: complete

Room for Improvement

There are many things can be done to improve projects. but some of most important things is:

To do:

  • Add contact-us functionality
  • Add comment feature on posts
  • Add wishlist functionality for users

Contact

Created by @Sayyed Mohammad Razavi - feel free to contact me!