Skip to content

Alirezz2020/advanced-Ecommerce-Project

Repository files navigation

Advanced Ecommerce Project

Overview

This is an advanced ecommerce project built with Django for the backend. The project follows a Class-Based Views (CBV) architecture and is designed to provide a fully functional ecommerce platform with a smooth user experience.

Key Features:

  • User Authentication (accounts app): Users can register, log in, and reset their password via email.
  • Product Catalog (products app): Display products with pagination, detailed descriptions, and images.
  • Shopping Cart (cart app): Add, remove, and update products in the cart.
  • Order Management (orders app): Create and manage orders, including payment integration.
  • Home Page (home app): The landing page for the website, showing featured products and categories.
  • Payment Gateway Integration: Secure payments using a payment gateway (e.g., Stripe or PayPal).

Project Structure

  • accounts: Manages user authentication (register, login, password reset).
  • home: Contains the landing page and home screen features.
  • orders: Manages the ordering system, including order creation, order items, and order history.
  • cart: Handles the shopping cart, including adding/removing items and calculating the total price.
  • products: Manages products, product details, and product categories.
  • payments: Integrates with payment gateways (e.g., Stripe, PayPal) for processing payments.

Frontend Contributions

Frontend developers can enhance this project by improving the user experience (UX) and user interface (UI). Here are some areas to focus on:

  • UI Design: The current project structure uses basic HTML and CSS. It can be improved with CSS frameworks (e.g., Tailwind CSS, Bootstrap, or Material Design).
  • Responsive Design: Ensure the site is fully responsive across all screen sizes (mobile, tablet, desktop).
  • JavaScript & Interactivity: Enhance the interactivity of the site using JavaScript frameworks like React.js or Vue.js. Focus on cart management, dynamic product filtering, and AJAX-driven updates.

Gmail Password Reset Setup

For email-based password reset functionality, you'll need to configure Gmail as the email backend. Here’s how to set it up:

1. Email Configuration in Django

In your settings.py, configure the email backend:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = '[email protected]'  # Replace with your Gmail address
EMAIL_HOST_PASSWORD = 'your-email-password'  # Replace with your Gmail password or app password
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER



Replace '[email protected]' with your Gmail address.
For Gmail, you might need to generate an App Password if you have 2-step verification enabled. You can do this in your Google Account Settings.








---

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published