A production-ready Django e-commerce backend with JWT auth, Celery/RabbitMQ async tasks, Redis caching, PostgreSQL, and a full Docker + GitHub Actions CI/CD pipeline.
🔴 Live: https://alx-project-nexus-ng70.onrender.com
Python 88% · HTML 7% · CSS 4%
| Component | Status |
|---|---|
| Backend API | ✅ Live |
| Authentication | ✅ JWT + Role-based |
| Database | ✅ PostgreSQL |
| Async Tasks | ✅ Celery + RabbitMQ |
| Caching | ✅ Redis |
| Deployment | ✅ Render + Docker |
| CI/CD | ✅ GitHub Actions |
ShopCore/
├── accounts/ # User auth and management
├── catalog/ # Products and categories
├── orders/ # Order processing and tracking
├── checkout/ # Payment integration and confirmation
└── backend/ # Project config and settings
| Layer | Tech |
|---|---|
| Backend | Python, Django, Django REST Framework |
| Database | PostgreSQL |
| Caching | Redis |
| Async Tasks | Celery + RabbitMQ |
| Auth | JWT + role-based permissions |
| Containerization | Docker |
| CI/CD | GitHub Actions |
| Hosting | Render |
- JWT access and refresh tokens with role-based permissions (Admin, Customer, Staff)
- Product and category CRUD with filtering, sorting, and pagination
- Full order lifecycle — creation, tracking, and checkout
- Async email notifications and order processing via Celery + RabbitMQ
- Redis caching for performance optimization
- Dockerized for consistent dev and production environments
git clone https://github.com/Muwatta/ShopCore.git
cd ShopCore
pip install -r requirements.txtEnvironment variables:
SECRET_KEY=your-secret-key
DEBUG=True
POSTGRES_DB=your-db
POSTGRES_USER=your-user
POSTGRES_PASSWORD=your-password
DATABASE_URL=your-database-urlpython manage.py migrate
python manage.py runserverRun with Docker:
docker-compose up --build| Method | Endpoint | Description |
|---|---|---|
| POST | /api/accounts/register/ |
User registration |
| POST | /api/accounts/login/ |
Login + token |
| GET/POST | /api/catalog/products/ |
List or create products |
| GET/POST | /api/catalog/categories/ |
List or create categories |
| GET/POST | /api/orders/ |
List or create orders |
| POST | /api/checkout/ |
Payment and order confirmation |
Abdullahi Musliudeen LinkedIn · abdullahmusliudeen@gmail.com
MIT License