A production-grade, full-stack e-commerce platform built with Django 5, PostgreSQL, Bootstrap 5 and vanilla JavaScript. Developed for the CodeAlpha Full Stack Development internship (Task 1) and engineered to scale well beyond the assignment baseline.
Status: under active, phased development. This README is expanded in the documentation phase; see
docs/for the architecture and database designs.
| Layer | Technology |
|---|---|
| Frontend | HTML5, CSS3, Bootstrap 5, Vanilla JS |
| Backend | Django 5, Python 3.13 |
| Database | PostgreSQL (SQLite for local dev) |
| Auth | Django auth + sessions, custom email-based user |
| Media | Local (dev), Amazon S3-ready (prod) |
| Deployment | Gunicorn, Nginx, Docker, Docker Compose |
CodeAlpha_EcommerceStore/
├── apps/ # Domain apps (accounts, products, cart, orders, ...)
├── config/ # Project package: settings (base/dev/prod), urls, wsgi/asgi
├── templates/ # Project-wide templates
├── static/ # Source static assets (css/js/img)
├── media/ # User-uploaded files (dev)
├── requirements/ # Split requirements (base/dev/prod)
├── docker/ # Dockerfile, compose, nginx config
├── docs/ # Architecture, DB design, guides
├── tests/ # Cross-app test suites
└── manage.py
# 1. Create & activate a virtual environment
python3.13 -m venv .venv
source .venv/bin/activate
# 2. Install development dependencies
pip install -r requirements/dev.txt
# 3. Configure environment
cp .env.example .env # then edit values as needed
# 4. Apply migrations and create an admin user
python manage.py migrate
python manage.py createsuperuser
# 5. Run the development server
python manage.py runserverThen visit http://127.0.0.1:8000/ (storefront) and http://127.0.0.1:8000/admin/ (admin).
Selected via DJANGO_SETTINGS_MODULE:
config.settings.dev— local development (default inmanage.py)config.settings.prod— production (default inwsgi.py/asgi.py)
Educational project for the CodeAlpha internship.