MyTech® - Your Technology
Django e-commerce website with Advanced Features and SEO Friendly
Images and Prices are only used for Demo purpose and does not reflect real products!
Admin credentials
Email address: [email protected] Password: mytek2021
Run the project
- Install
requirements.txtin yourvenvorpipenv - You will need paypal business account and 2 paypal sandboxed accounts: Customer and Store Owner. Then, copy paste your public key in base.html (open base.html and you will find out exactly where to paste it)
Frontend
-
HTML,CSS,Bootstrap,JavaScript,jQuery -
Templates downloaded for free from https://www.templateshub.net/template/Electro-eCommerce-Website-Templates
I modified few parts to meet the required specifications. Else, backend is coded and integrated from the scratch.
-
Templates I coded: cart.html, checkout.html, accounts templates, order templates
Backend
Python,Django
Local DB
- sqlite3
Live Demo DB
- PostgreSQL DB
Project current functionalities
User Management
User signupandpassword resetwith email verification - Please check your spam folder as well.User password changewhile logged in- Change basic information
Category Functionalities
- Query of products related categrory
Products Functionalities
- Auto-decrement
Stockproduct Auto-DiscountapplianceProduct ratingandaverage ratingcalculation- If stock is 0,
Out of stockwill take the place ofAdd to cart button
Cart Functionalities
Addandremoveproducts in cart- Cart items are saved before and after login using
sessionID Addandremovecart items
Search Bar
- Query using
keywords
Pagination
- Products pagination
Orders
- Products
checkout - PayPal payment with
PayPal sandbox demonstration Order reviewbefore confirmationOrder receipt- Use your customer paypal sanboxed email address to test payment
Newsletter
- Customer is able to subscribe to newsletter regardless of being registered or not.
- Above the footer, input your email address in the subscribe form and click on
subscribe.
Modal Contact Form
-
Customer is able to send message regardless of being registered or not.
-
In the footer menu, click on
Contact.
Admin Functionalities
- Python-decouple
- Admin Honeypot
Django Rest Framework API
- Django-filter Backend
CACHE
- Per-view cache: Deleted as it caused Cart Items are not synchronized on all pages. Working on different CACHE integration.
Run the project from Docker container
- Navigate to the project root directory
- Copy paste this command
docker-compose buildand hit enter - Copy paste this command
docker-compose upand hit enter - Open your browser and go to
127.0.0.1:8000and not to0.0.0.0:8000😁
Project live demo is served with:
Heroku web serverwith Heroku CLIMicrosoft Azure StoragePostgres DB
Project Live Demo URL
Heroku
API URLs
- https://mytek.herokuapp.com/api/products
- https://mytek.herokuapp.com/api/reviews
- https://mytek.herokuapp.com/api/orders-products
AWS Elastic Beanstalk
-
Project deployed using
awsebcli -
I used additional
S3 Bucketas staticfiles storage independently from the default Elastic Beanstalk one.
API URLs
- http://mytek-env.us-west-1.elasticbeanstalk.com/api/products
- http://mytek-env.us-west-1.elasticbeanstalk.com/api/reviews
- http://mytek-env.us-west-1.elasticbeanstalk.com/api/orders-products
Project Next Functionalities
- MFA
- Sub-Categories
- Elasticsearch
- Live Chat Support
- Change Email address
- Automated email alert once the stock reached 10 pieces as exemple
- The most feature I am very interested to implement, is: Automated live analytics with automated daily report sent to admin or store owner email address.
Next Django Project
Advanced Hotel Management System: Front office, Back office, Bar, Restaurant, Night club, Beach Bar, Housekeeping, Accounting, Analytics. つづく

