Doimih Code
Back to projects

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

Uptime (7d)

100%

API URL

Open API

Links