Lewati ke isi

Sentra Membership — Modules

Sistem SentraMembership didesain menggunakan pendekatan Modular Monolith dengan batas-batas domain bisnis (Bounded Context) yang jelas.

sentramembership-monolith/
├── src/
│   ├── modules/
│   │   ├── member-subscription/      # Pembelian Paket, Freeze, Auto-Renewal
│   │   │   ├── controllers/
│   │   │   ├── services/
│   │   │   └── entities/
│   │   ├── booking-engine/           # Redis Lock Reservation, Waiting List, Cancel Penalty
│   │   │   ├── redis/
│   │   │   ├── services/
│   │   │   └── entities/
│   │   ├── access-control/           # Edge Gate Sync, Face Biometric, Anti-Passback
│   │   │   ├── controllers/
│   │   │   ├── gateways/             # MQTT Access Gateway
│   │   │   └── services/
│   │   ├── wallet-billing/           # In-app Wallet, Payment Gateway QRIS, Auto-Deduct
│   │   │   ├── services/
│   │   │   └── entities/
│   │   ├── trainer-scheduling/       # Jadwal Trainer, Penugasan Sesi, Evaluasi
│   │   │   ├── controllers/
│   │   │   └── services/
│   │   └── gamification-loyalty/     # Reward Points, Badge Achievements, Referrals
│   │       ├── services/
│   │       └── entities/
│   ├── shared/
│   │   ├── security/                 # Wallet signature keys, AES Biometrics
│   │   └── notifications/            # WA Gateway Client, Push Notifications
│   └── main.ts
Modul File Deskripsi
Gate & RFID Access Control gate-rfid.md MQTT broker, anti-passback, biometric face + RFID gate flow
Wallet & Billing wallet.md Closed-loop wallet, signed transactions, top-up via QRIS, double-entry ledger
Booking & Class Engine booking.md Redis slot lock, waiting list, cancellation penalty, subscription state machine
Payroll & Trainer Incentive payroll.md Komisi instruktur per sesi, occupancy multiplier, retainer