I made this personal project during my summer vacation as I was learning new stuff so!.
Technology Stack used :
You can find the link of Demo video of website Here. I have explained all the features also😎!
Or you can click the below image also!
- Admin can list the categories, brands and their related products.
I used django-mptt model which a Tree like data structure to implement relationship between category, brand and it's product smoothly. - Admin can list the products-details, price and quantity they have for that specific product.
I used ckeditor which is a rich text editor, It gives us advantage over normal text editor for writing product specifications. - admin can see the details of ordered items, and can mark the order as 'confirmed' or 'shipped' or 'delivered'.
- User can Sign In or Sign Up easily.
- Implemented Search product functionality, User can search their product in real time, It is being done using AJAX requests.
- Category wise filter is given, user can shop with brands of specific category also. User can add product to their cart directly from home page or product detail page.
- User can see their cart price and number of products in cart updates as they shop. At shop cart page user can see full shop cart with detailed price and Final Price (with 18% GST).
- On pressing the Place Order button the user would see order confirmation message with Order No., If their order is successfully placed.
- In background, Celery will send an Email Asynchronously using Redis server to desired mail id with order confirmation message, Order No. and automatically generated pdf of bill. I used Jinja templates to automate the process of generating bill receipt.
You can view demo reciept here. I know it's very basic, but pretty though😉!
Just follow these simple steps:
- Clone repository to preserve directory structure
git clone https://github.com/Nisarg1112/Django-Ecommerce-Website.git
- Go to your favorite code editor and open Command Prompt (cmd) amd go to directory where you cloned this repo
- Run this command in cmd
pip install -r requirements.txt
- Extract
Redis-x64-3.0.504.zip
- Run the file
redis-server.exe
- Run the file for command line access of Redis server
redis-cli.exe
- If you see this on Redis command line
redis 127.0.0.1:6379>
then, typePING
and hit Enter. - You should see output as
PONG
. If that's the case then now you are good to go! - Create an account on
https://app.sendgrid.com/
- Get an api key from your account, You can refer their Official Documentation for creating an api key
- Create a
.env
File. and write following codeSENDGRID_API_KEY = '{PASTE_YOUR_API_KEY_HERE}'
- Open cmd and write following commands
cd mac
- following command will perform required migrations
python manage.py migrate
- following command will start a local server
python manage.py runserver
- Now, We are all set to go! Enjoyy😎!
If you face any problem like script not running in local environment or anything: You can reach out to me at anytime on following platforms!
- Celery Official Documentation - You can find here
- Redis for Python Official Documentation - You can find here
- The official Redis website
- Redis-x64-3.0.504.zip has been downloaded from here
- Django Official Documentation - You can find here
- django-mptt Official Documentation - You can find here
- ckeditor - rich text editor Official Documentation - You can find here