- ✓
Layered backend (routes → services → repositories behind interfaces) so business logic is unit-tested against in-memory fakes.
- ✓
Dashboard KPIs, revenue and attendance charts built on MongoDB $facet/$group aggregation pipelines: one round trip per screen.
- ✓
Member management with soft delete and restore, search/filter/sort, photo and document uploads, a timeline and a field-level audit log.
- ✓
Memberships with plan freeze/activate, renewals as linked records, coupons, GST pricing snapshotted at purchase, invoices and payment links.
- ✓
Attendance with manual and HMAC-signed QR check-in by camera, duplicate guards, late-entry flags, reports and a missed-members list.
- ✓
Payments as an invoice with an embedded transaction ledger: partial payments, refunds, receipts and a derived status.
- ✓
Trainer HR: schedules, member assignment, attendance, leave approval, salary plus commission payroll and performance snapshots.
- ✓
Expenses by category with monthly and yearly reports, and CSV, Excel and PDF export from one column definition.
- ✓
Equipment inventory with warranty, maintenance and repair ledgers, service schedules, barcodes and QR codes.
- ✓
Lead pipeline with sources, follow-ups, staff assignment and conversion-rate reporting.
- ✓
Notifications over SMTP email and Twilio SMS/WhatsApp, with templates and a Celery-beat scheduler for expiry, payment and follow-up reminders.
- ✓
Cross-module reports including a real profit & loss, plus gym settings, branches, staff roles, global audit log and JSON backup/restore.
- ✓
Production Docker setup: static frontend behind nginx and a hardened, non-root API image.