Shop online
UP✨ Features
👤 Customer Features
🔐 User Authentication - Email-based registration, JWT login, password reset with secure tokens
🛍️ Product Catalog - Browse products with category filtering and search functionality
🔍 Advanced Search - Real-time search with category filtering
🛒 Shopping Cart - Add/remove items, persistent cart using localStorage
🏠 Saved Addresses - Save multiple addresses (home/delivery) for quick checkout
📝 Guest Checkout - Complete orders without registration
📦 Order Management - View order history, track status, download invoices
💌 Email Notifications - Automatic order confirmations and status updates
👥 User Profile - Manage account information, saved addresses, order history
📱 Responsive Design - Mobile-first design with Tailwind CSS for all devices
🛡️ Admin Features
📊 Admin Dashboard - Overview of key metrics, products, orders, and users
📝 Product Management - Full CRUD operations for products with image URLs
👥 User Management - Create, edit, delete users and assign roles
🎯 Role-Based Access - Admin, staff, and customer roles with permission control
📦 Advanced Order Management - View all orders, search by customer, filter by status
📄 PDF Invoice Generation - Generate and download formal PDF invoices for orders
🔐 Order Status Tracking - Update order status (pending → processing → shipped → delivered)
📊 Order Filtering - Search and filter orders by customer name, email, phone, status
🛠️ Technology Stack
Backend
Framework: Django 4.2.9
API: Django REST Framework 3.14.0
Authentication: djangorestframework-simplejwt 5.3.1 (JWT tokens with refresh)
Database: PostgreSQL 15 (SQLite for local dev)
PDF Generation: reportlab 4.0.7
Email: Django SMTP with configurable providers
CORS: django-cors-headers 4.3.1
Server: Gunicorn 21.2 (production)
Validation: Django built-in validators
Frontend
Framework: React 18.2.0
Build Tool: Vite 5.4.21
Routing: React Router v6.20
Styling: Tailwind CSS 3.3
HTTP Client: Axios 1.6.5 with JWT interceptors
State Management: Context API (AuthContext, CartContext)
DevOps & Infrastructure
Containerization: Docker & Docker Compose
Reverse Proxy: Traefik v3.0 (automatic SSL with Let's Encrypt)
Web Server: Nginx (Alpine)
Database: PostgreSQL 15 Alpine
Load Balancing: Built-in via Traefik