🧁 Cupcakes E-Commerce Website
📌 Project Overview
This project is a Cupcakes E-Commerce Website built using Django. The purpose of the system is to provide a digital platform where users can explore cupcake products, view customer reviews, and contact the business directly through a web interface.
The website demonstrates the use of Django's Model-View-Template (MVT) architecture, database integration, and frontend design to build a dynamic and interactive web application. It replaces manual record handling with a structured system that stores products, reviews, and customer messages in a database.
This project was developed as part of an academic project to gain practical experience in web development using Django
🛠 Technologies Used
Backend
- Python
- Django Web Framework
Frontend
- HTML
- CSS
- JavaScript
Database
- SQLite
Architecture
Django MVT (Model – View – Template)
✨ Features of the Project
🧁 Product Display
-
Displays cupcake products dynamically from the database.
-
Shows product details including:
- Name
- Description
- Price
- Discount
- Image
⭐ Customer Reviews
- Users can view reviews submitted by customers.
- Ratings from 1–5 stars help build trust and engagement.
📩 Contact Form
- Users can send messages to the business through a contact form.
- Messages are stored in the database.
💰 Discount Calculation
- Discounted prices are calculated dynamically using backend logic.
🔐 Security Features
- CSRF protection for forms
- Django ORM to prevent SQL Injection
- Server-side input validation
📱 Responsive Design
- Clean UI built with HTML and CSS
- Works on different screen sizes
⚙️ Development Process
The project was built following these main steps:
1️⃣ Project Planning
Defined the project scope and identified the main components such as products, reviews, and contact system.
2️⃣ Database Design
Created Django models for:
- Product
- Review
- ContactMessage
These models define how data is stored and managed.
3️⃣ Backend Development
Implemented Django views to:
- Fetch products and reviews
- Process user requests
- Store contact messages
4️⃣ Frontend Development
Created templates using HTML, CSS, and Django Template Language (DTL) to render dynamic content.
5️⃣ Testing
Manually tested the application to ensure:
- Product display works correctly
- Reviews load properly
- Contact form saves messages
- Interface behaves correctly on different devices
📚 What I Learned
Working on this project helped me learn:
- Django MVT architecture
- Database design using Django ORM
- Connecting backend logic with frontend templates
- Handling forms and user input securely
- Managing static and media files
- Building dynamic websites using Django
🚀 Overall Growth
This project improved my understanding of full-stack web development. I learned how to structure a real web application, connect databases with the frontend, and implement secure data handling.
It also helped me develop problem-solving skills while working with Django and managing different components of a web application.
🔮 Future Improvements
The system can be improved by adding more advanced features:
- User registration and login system
- Shopping cart functionality
- Online payment integration
- Admin dashboard customization
- Product search and filtering
- Mobile app version of the system
- Deployment on cloud platforms like Heroku or AWS
Follow these steps to run the project locally. 1️⃣ Clone the Repository
git clone https://github.com/AyeshaBatool-02/E-Commerce-Website-using-Django-.git
2️⃣ Navigate to the Project Folder cd your-repository-name 3️⃣ Install Dependencies
pip install -r requirements.txt
4️⃣ Run Database Migrations
python manage.py migrate
5️⃣ Start the Development Server
python manage.py runserver
6️⃣ Open in Browser
📬 Contact
If you have any suggestions or feedback, feel free to reach out.