Experience top-notch pet food shopping with LittlePaws, an ECommerce application built entirely using Python Django and Jinja Templates. With custom user model and cart management, explore unlimited product galleries of categories and items, and check out with ease using secure payment options. LittlePaws ensures hassle-free after-order tasks, such as inventory tracking, email notifications for received orders, cart clearing, order completion page display, and invoicing.
LittlePaws includes an interactive Review and Rating system that lets you express your thoughts on pet food products and leave star ratings and comments on products they have purchased. Customers can easily manage their accounts by editing their profile, uploading profile pictures, changing passwords, and keeping track of their orders. To ensure optimal performance, scalability and security, we deployed the application on AWS Elastic Beanstalk with RDS + Route 53. With our user-friendly interface and top-notch technology stack, customers can have a seamless shopping experience for their beloved pets' food needs.
- Using the Django built-in admin dashboard, we add extra functionality on top of it such as Monitoring Login Attempts on the Admin(Fake) Login Page using Paul McMillan’s django-admin-honeypot.
- Variations
- Attempting to Deleting a category revealing its entire object relationship
- Payments
4) User can either click on the paypal button or credit/debit card payment for finalizing payment(use a sandbox account for testing)
5) Post finalizing payment, AWS SES sends an invoice email notifying the order details and date of expected delivery.
-
Clone the repository
git clone https://github.com/irfanirshad/django-ecom-aws
-
Navigrate to the working directory
cd django-ecom-aws
-
Open the project from the code editor
code .
-
Create virtual environment
python -m venv venv
-
Activate the virtual environment
source venv/bin/activate
-
Install required packages to run the project
pip install -r requirements.txt
-
Rename .env-sample to .env
-
Fill up the environment variables: Generate your own Secret key using this tool https://djecrety.ir/, copy and paste the secret key in the SECRET_KEY field.
Your configuration should look something like this:
SECRET_KEY=47d)n05#ei0rg4#)*@fuhc%$5+0n(t%jgxg$)!1pkegsi*l4c% DEBUG=True EMAIL_HOST=smtp.gmail.com EMAIL_PORT=587 EMAIL_HOST_USER=youremailaddress@gmail.com EMAIL_HOST_PASSWORD=yourStrongPassword EMAIL_USE_TLS=True
Note: If you are using gmail account, make sure you turn ON the less secure apps
-
Create database tables
python manage.py migrate
-
Create a super user
python manage.py createsuperuser
GitBash users may have to run this to create a super user -
winpty python manage.py createsuperuser
-
Run server
python manage.py runserver
-
Login to admin panel - (
https://127.0.0.1:8000/securelogin/
) -
Add categories, products, add variations, register user, login, place orders and EXPLORE SO MANY FEATURES
💙 If you like this project, give it a ⭐ and share it with friends!
Made with ❤️ and Python