Org Repo: https://github.com/Fit-Trybe/fittrybe-backend-v1
Personal Repo: https://github.com/Tim1119/fittrybe-backend-v1
This document covers the complete backend architecture for Fit Trybe, a B2B SaaS fitness platform built with Django 5.2 + DRF + PostgreSQL + Redis + Celery.
| Layer | Technology |
|---|---|
| Framework | Django 5.2 + Django REST Framework |
| Database | PostgreSQL 16 |
| Cache / Broker | Redis 7 |
| Async Tasks | Celery + Celery Beat |
| Auth | JWT (SimpleJWT) + django-axes |
| Payments | Paystack + Stripe |
| Mailgun (anymail) + Mailtrap (dev) | |
| Real-time | Django Channels (WebSockets) |
| Docs | drf-spectacular (OpenAPI/Swagger) |
| Storage | django-storages + S3/Cloudinary (Phase 2) |
All models (except User and PaymentRecord) extend BaseModel which provides:
| Field | Type | Description |
|---|---|---|
| deleted_at | TIMESTAMP | Soft delete timestamp (null = not deleted) |
| created_at | TIMESTAMP | Auto-set on creation |
| updated_at | TIMESTAMP | Auto-updated on save |
Soft delete pattern:
Model.objects β excludes soft-deleted recordsModel.all_objects β includes soft-deleted records.delete() β sets deleted_at, never removes from DB.hard_delete() β permanently removes from DB