A role-based ecommerce platform built with Python + Django using Function-Based Views (FBV), inspired by Amazon's UI.
- Role-based authentication (Admin/User)
- Category CRUD operations
- Subcategory CRUD operations
- Product CRUD operations
- Product search and filtering
- Shopping cart system
- Quantity validation
- Responsive Bootstrap UI
- Amazon-inspired design
- Function-Based Views only
- Demo fixtures and seed data
- CI-ready GitHub structure
- Backend: Python 3.11+ · Django 5
- Frontend: Bootstrap 5 · Bootstrap Icons · Django Templates
- Database: SQLite (development) → PostgreSQL (production)
- Image Handling: Pillow
- Environment Variables: python-decouple
- Package Manager: uv
- CI/CD: GitHub Actions
Add screenshot here:
docs/screenshots/login.png
Add screenshot here:
docs/screenshots/categories.png
Add screenshot here:
docs/screenshots/products.png
Add screenshot here:
docs/screenshots/cart.png
shop/
│
├── .github/
│ └── workflows/
│ └── ci.yml
│
├── accounts/
├── cart/
├── categories/
├── products/
│
├── core/
│
├── docs/
│ ├── PRD.md
│ └── screenshots/
│
├── fixtures/
│ ├── categories.json
│ ├── subcategories.json
│ └── products.json
│
├── media/
│ └── demo/
│
├── scripts/
│ └── seed_data.py
│
├── static/
│ ├── css/
│ ├── js/
│ └── images/
│
├── templates/
│
├── .env.example
├── .gitignore
├── manage.py
├── pyproject.toml
├── README.md
├── requirements.txt
└── uv.lock
git clone <your-repository-url>
cd shopuv syncCreate a .env file in the project root:
DEBUG=True
SECRET_KEY=your_secret_key_here
ALLOWED_HOSTS=127.0.0.1,localhostuv run python manage.py migrateuv run python manage.py loaddata fixtures/categories.json
uv run python manage.py loaddata fixtures/subcategories.json
uv run python manage.py loaddata fixtures/products.jsonuv run python manage.py runserverOpen:
http://127.0.0.1:8000
Email: admin@example.com
Password: StoreMaster@2026
Email: user1@example.com
Password: ShopEasy#2026
- Register/Login
- Categories
- Subcategories
- Products
- Cart
| URL | Description |
|---|---|
/categories/ |
Categories page |
/products/ |
Products page |
/cart/ |
Cart page |
/accounts/login/ |
Login |
/accounts/register/ |
Register |
- Create categories
- Update categories
- Delete categories
- Manage subcategories
- Manage products
- Update stock quantity
- Browse categories
- Browse products
- Search products
- Add to cart
- Update cart
- Remove cart items
- CSRF Protection
- Role-based authorization
- Password hashing
- Quantity validation
- Environment variable support
- Payment gateway integration
- Product reviews and ratings
- Wishlist
- Order management
- Admin analytics dashboard
- REST API with DRF
- JWT authentication
This project was built to practice:
- Django Function-Based Views
- Ecommerce workflows
- Role-based authentication
- CRUD operations
- Cart management
- Responsive UI design
- Project structuring
- GitHub-ready project organization
MIT License