Sentra Series — Tech Stack Baseline
Baseline ini berlaku untuk semua sistem Sentra kecuali ditulis sebagai override eksplisit di systems/<sistem>/01-architecture.md. Setiap perubahan versi di sini juga harus tercermin di docs/_meta/tech-baseline.yml.
Backend
| Komponen |
Pilihan |
Versi minimum |
Alasan |
| API Service (business) |
NestJS (TypeScript) |
10.x |
OO + decorator, ekosistem ORM matang (TypeORM/Prisma) |
| Sync / High-concurrency Service |
Go (Fiber/Gin) |
1.22+ |
goroutines untuk sync engine offline-online |
| Database |
PostgreSQL |
16+ |
partisi tabel per cabang, JSONB |
| Cache & Lock |
Redis Cluster |
7.x |
Redlock, session, BullMQ |
| Message Queue |
BullMQ (Redis) |
— |
retry & DLQ untuk sync |
Frontend
| Komponen |
Pilihan |
Versi |
Alasan |
| Owner Dashboard |
Next.js + Tailwind + shadcn/ui |
14+ |
SSR + responsif |
| Mobile Staff |
React Native + Expo |
50+ |
cross-platform Android/iOS |
Communication / Notification
| Komponen |
Pilihan |
Catatan |
| WhatsApp |
Fonnte atau Twilio |
provider lokal pertama |
| Real-time updates |
WebSockets |
KDS, queue, sync status |
Payment Gateway
- Midtrans atau Xendit (PJSP berlisensi BI)
- Dynamic QRIS dengan PPN 11% & service fee
Auth & Security (lihat juga security-patterns.md)
- RBAC dengan branch-scoped permission
- JWT short-lived + refresh token rotation
- API rate limiting per role + per IP
CI/CD & Distribusi
- GitHub Actions untuk build & deploy
- POS Client desktop: distribusi
.msi (Windows) via Electron-builder atau Tauri bundler