Lewati ke konten utama

Architecture

Component map

flowchart LR
A[Admin Web UI / Inertia] --> B[Laravel Web Layer]
M[Mobile App] --> C[Mobile API /api/mobile/v1]
D[Admin Client] --> E[Admin API /api/admin/v1]
B --> S[App Modules app/Modules/*]
C --> S
E --> S
S --> DB[(Relational DB via migrations)]
S --> F[Firebase Chat Middleware init-firestore]
S --> P[Push Notification + Topic Subscription]

Runtime topology

  • Entry points:
    • Web: routes/web.php + routes/admin.php (prefix dashboard dari RouteServiceProvider)
    • API Admin: routes/api/admin/v1.php prefix api/admin/v1
    • API Mobile: routes/api/mobile/v1.php prefix api/mobile/v1
  • Route registration: app/Providers/RouteServiceProvider.php
  • Middleware penting: auth, auth:web, auth:sanctum, membership, reserveable-store, role:super.admin, init-firestore, locale, application-versioning.

Integration points

  • Firebase/real-time chat flow via middleware init-firestore (chat endpoints admin+mobile).
  • Push notification token and broadcast endpoints (push-notification, mobile profile/fcm-token).
  • SNS login callback route (auth/sns/{provider}/callback).
  • OTP throttling (throttle:otp) in mobile auth flow.

Constraints

  • Beberapa route deklarasi tampak duplikat (store/list-select, store/list) di admin API (verification required).
  • Banyak domain ada dalam satu monolith; perubahan schema harus disiplin migration + backward compatibility.