v1.2.0
Dokumentasi Sistem · Bengkel Pintar ERP

Panduan Lengkap

Arsitektur, panduan pengguna, alur modul, dan skenario operasional sistem manajemen bengkel otomotif multi-cabang.

20+Modul
8Role
50+Flow Diagram
35Laporan
Daftar Isi
Topologi Sistem
Frontend

Next.js 15 · React 19 · TypeScript · Tailwind CSS · WebSocket via ticket flow

Backend

Hono on Bun · Prisma 7 · BullMQ workers · node-cron · Argon2 · pino

Storage

PostgreSQL 14+ · Redis 7 (pub/sub + queue) · MinIO S3-compatible

Infrastruktur

Docker Compose · Caddy reverse proxy · PgBouncer · Zero-downtime deploy

Production Topology

API & Worker scalable (rolling deploy zero-downtime). Cron replicas=1. Shared state via Redis.

flowchart TB C["Caddy Reverse Proxy\n:4100\nactive health-check"] --> A1["API #1\n:4000"] C --> A2["API #2\n:4000"] C --> A3["API #N"] A1 --> R[("Redis :6379\npub/sub + queue\n+ ticket store")] A2 --> R A3 --> R A1 --> PB["PgBouncer\ntxn pool"] A2 --> PB A3 --> PB PB --> PG[("PostgreSQL\nexternal")] CRON["Cron Service\nreplicas=1\nnode-cron + DB-driven"] --> R CRON --> PB W1["Worker #1\nBullMQ consumer"] --> R W2["Worker #2\nscalable"] --> R W1 --> PB W1 --> M[("MinIO\nS3 storage")] A1 --> M A2 --> M style C fill:#dbeafe,stroke:#3b82f6 style R fill:#fee2e2,stroke:#dc2626 style PB fill:#fef3c7,stroke:#d97706 style CRON fill:#f0fdf4,stroke:#16a34a
Redis — Rate-limit cross-instance, WebSocket ticket store, pub/sub ws:events, BullMQ broker
Cron — Replicas=1 anti-duplicate, DB-driven schedule, hot-reload via Redis signal
Worker — PDF/Excel offload, async email & WhatsApp, at-least-once delivery
Deploydeploy.sh build → migrate → rolling api → cron, healthcheck-driven