Skip to content

This is a complete E-Shop Application. Using this application, customers/users can view products, add, edit and modify cart items (products) and checkout after entering delivary address and completing payment. Customer authentication is done using JWT Authentication. Database used is mySQL which is django's default database. Payment Gateway used…

License

Notifications You must be signed in to change notification settings

atharvparkhe/basic-e-shop

Repository files navigation

E-Shop Application

This is a complete E-Shop Application. Using this application, customers/users can view products, add, edit and modify cart items (products) and checkout after entering delivary address and completing payment. Customer authentication is done using JWT Authentication. Database used is mySQL which is django's default database. Payment Gateway used is Razorpay.

🔗 Content

📋 Features

  • USER AUTHENTICATION : Users can Signup for a new account, Verify thier email id, Login using email and password, make a Forgot request to reset thier password.

  • PRODUCTS AND BLOGS : Users can view all products and blogs.

  • REVIEWS AND RATING : User can add blogs comments, product review and rateings.

  • CONTACT US FORM : User can fill up the Contact Us form. (Auto Corrospondence email sending feature)

  • CART FUNCTIONALITY : User can add and remove products from cart. Users can also change the quantity of items in thier cart.

  • PAYMENT GATEWAY : Users can make payment using Net-Banking, UPI, Card Payments, etc. through Razorpay Payment Gateway which is integrated in the system.

  • AUTO INVOICE : After payment, users would recieve invoice (auto-generated) in thier mailbox.

🧰 Tech Stack

  • BACKEND : Django (Python)

  • DATABASE : mySQL

🛠 API Reference

Postman Endpoints : https://www.getpostman.com/collections/810602ef1d1d81df854b

Endpoints

API Endpoints JSON file (for importing into thunderclient / postman) is available in the docs folder or click here

🔐 Environment Variables

To run this project, you will need to add the following environment variables to your .env file

  • EMAIL_ID - Email ID (which would be used to send emails)

  • EMAIL_PW - Email Password

  • PUBLIC_KEY - Razorpay API Public Key

  • PRIVATE_KEY - Razorpay API Private Key

ENV file

💻 Run Locally

Step#1 : Clone Project Repository

git clone https://github.com/atharvparkhe/basic-e-shop.git && cd basic-e-shop

Step#2 : Create Virtual Environment

  • If virtualenv is not istalled :
pip install virtualenv && virtualenv env
  • In Windows :
env/Scripts/activate
  • In Linux or MacOS :
source env/bin/activate

Step#3 : Install Dependencies

pip install --upgrade pip -r requirements.txt

Step#4 : Add .env file

  • ENV file contents
    • In Windows :
        copy .env.example .env
    • In Linux or MacOS :
        cp .env.example .env
  • Enter Your Credentials in the ".env" file. Refer Environment Variables

Step#5 : Run Server

python manage.py runserver
  • Open http://127.0.0.1:8000/ or http://localhost:8000/ on your browser.

Check the terminal if any error.

📄 Documentation

The docs folder contain all the project documentations and screenshots of the project.

Local Server Base Link : http://localhost:8000/

Admin Pannel Access :

Admin Pannel : Django Jazzmin

🌄 Screen-Shots

  • Authentication Signup Login Forgot

  • Product All Products Single Products

  • Cart Cart Address Payment Payment Success Invoice

  • Admin Admin All Products New Product New Category Sale Coupons

🙋🏻‍♂️ Author

🤝 Connect with Atharva Parkhe

LinkedIn GitHub Twitter Instagram LeetCode YouTube Discord

About

This is a complete E-Shop Application. Using this application, customers/users can view products, add, edit and modify cart items (products) and checkout after entering delivary address and completing payment. Customer authentication is done using JWT Authentication. Database used is mySQL which is django's default database. Payment Gateway used…

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages