Skip to content

muwatta/ShopCore

Repository files navigation

ShopCore 🛒

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%


🟢 Status

Component Status
Backend API ✅ Live
Authentication ✅ JWT + Role-based
Database ✅ PostgreSQL
Async Tasks ✅ Celery + RabbitMQ
Caching ✅ Redis
Deployment ✅ Render + Docker
CI/CD ✅ GitHub Actions

🏗️ Architecture

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

⚙️ Tech Stack

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

✅ Core Features

  • 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

🚀 Local Development

git clone https://github.com/Muwatta/ShopCore.git
cd ShopCore
pip install -r requirements.txt

Environment variables:

SECRET_KEY=your-secret-key
DEBUG=True
POSTGRES_DB=your-db
POSTGRES_USER=your-user
POSTGRES_PASSWORD=your-password
DATABASE_URL=your-database-url
python manage.py migrate
python manage.py runserver

Run with Docker:

docker-compose up --build

📡 API Endpoints

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

📬 Contact

Abdullahi Musliudeen LinkedIn · abdullahmusliudeen@gmail.com


MIT License

About

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors