summary

Metropole Padel Club — Summary

  • Dokumen: Hub ringkasan seluruh platform MPC (bukan PRD teknis terpisah)
  • Sumber: mpc-dev/docs/ — changelog, specs, API, schema, tasks
  • Status per: 21 Agustus 2026
  • Cara pakai: Baca overview → actors → diagram → features per app → backlog. Detail operasional di link wiki di bawah.

Legenda status

SimbolArti
Ada dan dipakai (API / production path)
🟡Ada sebagian (UI, satu platform, atau tanpa gateway penuh)
Belum dibangun / backlog

1. Overview

Metropole Padel Club (MPC) adalah platform digital untuk mengelola klub padel premium: booking lapangan, komunitas & matchplay, F&B / resto / proshop, membership, operasional venue (POS & admin), analytics owner, dan CRM broadcast.

Cloud adalah Single Source of Truth untuk identitas member, booking, order, dan membership. POS venue dan channel partner (mis. Courtside) terintegrasi tanpa menyerahkan kepemilikan data utama.

Positioning

  • Open registration — daftar dengan email/phone + OTP email; bukan invite-only.
  • Membership tiering — Free → Basic / Pro / Elite (benefit & prioritas naik; konfigurasi admin).
  • UX kalangan atas — polished, jelas, tidak membingungkan (ux-high-class).

Siapa usernya?

KelompokTujuan utama
Member / guestBooking, bayar, match, resto, notifikasi
Front-desk / kasir venueCheck-in, jual F&B/rent, sesi lapangan (POS)
Ops / admin klubMaster data, harga, promo, customers, broadcast
Owner / managementOmzet, chart, insight multi-cabang
CoachJadwal & sesi (via admin/member; portal khusus belum)
CRM / marketingBroadcast outbound (DB terpisah)
Engineer / productSpecs, API, schema, versions (mpc-dev)

Aplikasi yang dipakai

AppPathPeran
Member Androidmpc-customer/mpc-androidSumber kebenaran UX member
Member iOSmpc-customer/mpc-iosParity 1:1 dengan Android
Member Webmpc-customer/mpc-webParity 1:1 dengan Android
Adminmpc-admin-siteOps console
POSmpc-posCourt / kasir venue
Backend member+adminmpc-beAPI cloud utama
Backend POSmpc-be-posAPI POS
Ownermpc-ownerAnalytics (baca ksrdb)
Syncksr-syncmpcdbksrdb
CRMmpc-crmHub broadcast (crmdb)
Docs hubmpc-devLibrary markdown ini

Versi terkini: versions/README.md.
Detail per app (published URL, fitur, latest changes): applications/README.md.


2. Actors

ActorRoleAksi utamaAplikasi
GuestCalon memberBrowse (terbatas), register, verifikasi OTPAndroid / iOS / Web → mpc-be
Member (Free)Member defaultLogin, booking, history, matchplay, players, resto, tip, inboxAndroid / iOS / Web → mpc-be
Member (Paid tier)Basic / Pro / EliteSemua di atas + benefit membership (kuota/diskon/event)Android / iOS / Web → mpc-be
Receptionist / KasirFront-deskSetup device, lihat sesi lapangan, jual produk, check-inmpc-posmpc-be-pos
Ops AdminStaff opsCRUD courts/products/spaces/events/coaches/promos, customers, push broadcast (langsung mpcdb + FCM)mpc-admin-sitempcdb (+ Firebase)
ManagerOps seniorSama admin + kebijakan harga/promo (target RBAC lebih ketat)Admin (+ Owner bila perlu)
OwnerBisnisLogin owner, chart omzet, Gemini assistant, multi-branchmpc-ownerksrdb via ksr-sync
CoachPelatihDikelola di admin; member book sesi (portal coach ❌)Admin + member apps
CRM operatorMarketingBroadcast / sync contact (DB crmdb)mpc-crm
System / SyncDaemonReplikasi datamart, reconcileksr-sync
EngineerDevDocs, changelog, migration, API contractmpc-dev + repos

Matriks actor × aplikasi (ringkas)

ActorAndroid/iOS/WebAdminPOSOwnerCRM
Guest / Member
Kasir
Ops Admin
Owner🟡
Coach🟡🟡
CRM

3. Diagrams

A. Overview — hubungan antar aplikasi

Admin menulis langsung ke mpcdb (Prisma). Push broadcast admin juga FCM langsung + tabel device_tokens / notificationstanpa panggil mpc-be. Member apps tetap lewat mpc-be.

Diagram…

B. Swimlane — journey inti

B1. Member booking lapangan

Diagram…

B2. Kasir jual F and B / rent di venue

Diagram…

B3. Owner lihat omzet

Diagram…

B4. Register + OTP email

Diagram…

B5. Admin broadcast push (langsung, tanpa mpc-be)

Diagram…

Detail kontrak API member/POS: api/be.md, api/be-pos.md.


4. Features (per aplikasi)

4.1 Member — Android / iOS / Web (mpc-customer)

Parity wajib 1:1 (Android = sumber UX). Changelog: android · ios · web.

AreaFiturStatus
HomeLanding, greeting, promo carousel, quick actions, pull-to-refresh
AuthRegister/login, OTP email, reset password, profile, logout
AuthGoogle SSO🟡
CourtsList, detail showcase, availability, by-time/by-court, peak pricing
BookingConfirm + extras, history grouped, tip on completed
BookingReschedule / cancel / waitlist🟡 / ❌
MatchplayCreate/join/score, guests, leaderboard🟡
CommunityPlayers search / ranking / favorites🟡
CoachingListing & book path🟡
MembershipPlans / usage🟡
EventsList / register🟡
RestoSpace reservation + F&B terikat
CommerceFnB / ProShop / Rent (kategori dinamis)
PaymentsOrder/invoice path; Midtrans penuh✅ / 🟡
NotifInbox; FCM Android; APNs iOS✅ / ❌

4.2 Admin (mpc-admin-site)

Changelog: admin.md.

AreaStatus
Dashboard ops
Courts (foto, harga, specs, display_order)
Products FnB / ProShop / Rent
Resto spaces
Events, coaches, promos
Customers
POS devices
Push / email broadcast
Copy UI English
Image upload Firebase
RBAC matrix & audit penuh🟡

4.3 POS (mpc-pos)

Changelog: pos.md.

AreaStatus
Device setup / auth
Sesi lapangan / split display
Catalog jual + attach booking
Offline resilience penuh🟡
UX error setup

4.4 Backend mpc-be

Changelog: be.md · API: api/be.md.

Auth JWT + OTP, courts/availability, bookings/orders, matchplay, players, notifications, device-tokens, promos, spaces, admin CRUD surfaces, tip, reschedule fees.

4.5 Backend mpc-be-pos

Changelog: be-pos.md · API: api/be-pos.md.

Outlet/device, cashier session, catalog POS, sales, booking status di venue.

4.6 Owner (mpc-owner) + Sync (ksr-sync)

Changelog: owner.md · ksr-sync.md.

AreaStatus
Owner auth
Charts omzet / multi-branch
Gemini assistant
Datamart sync hardening✅ / 🟡
Export PDF/Excel, CLV mendalam

4.7 CRM (mpc-crm)

Changelog: crm.md. Hub broadcast + DB crmdb (terpisah dari mpcdb); sync opsional dari MPC.

4.8 Docs hub (mpc-dev)

Changelog: dev.md. Merender seluruh tree mpc-dev/docs/ sebagai wiki (/docs/...).


5. Backlog

Checklist produk yang belum / tipis — update status di sini saat selesai (dan catat di changelog + specs).

Member & growth

  • Google OAuth penuh (bukan tombol UI saja)
  • Waitlist lapangan
  • Cancel policy jelas end-to-end
  • Calendar grid events
  • Chat / social feed
  • Rating ELO / DUPR-style
  • Localization ID/EN penuh
  • Coach portal dedicated

Payments & commerce

  • Midtrans / webhook production hardening
  • Refund policy engine lengkap
  • Membership self-serve billing + prorate
  • Accessories fulfilment / shipping penuh

Notifications

  • iOS push APNs (blocked Apple Developer — lihat tasks.md)
  • WhatsApp OTP / comms
  • Email fan-out non-OTP lengkap

Ops & analytics

  • Staff RBAC matrix + audit log penuh
  • Owner export suite + CLV
  • Courtside / channel manager reconcile matang
  • Multi-venue map
  • Observability + DLQ tooling

Roadmap arah

FaseFokus
SekarangAPI-backed member + admin + POS + owner; polish UX & parity
BerikutPayment gateway; iOS push; cancel/waitlist; Courtside
LanjutCoach portal; fulfilment; membership billing self-serve
SkalaMulti-venue; observability; localization

6. Changelog

Indeks versi semua app: versions/README.md.

AppChangelog
mpc-androidchanges/android.md
mpc-ioschanges/ios.md
mpc-webchanges/web.md
mpc-adminchanges/admin.md
mpc-poschanges/pos.md
mpc-bechanges/be.md
mpc-be-poschanges/be-pos.md
mpc-ownerchanges/owner.md
ksr-syncchanges/ksr-sync.md
mpc-crmchanges/crm.md
mpc-devchanges/dev.md

Specs per sesi: specs/README.md.


7. Etc — peta docs & checklist kerja

Peta folder mpc-dev/docs/

PathIsi
summary.mdDokumen ini — ringkasan platform
versions/Current version per app
changes/Changelog per app
specs/Spec/PRD perubahan per chat
api/Kontrak API BE & BE-POS
schema/Konvensi + migration ALTER
tasks.mdFollow-up / blocker
push-notifications-setup.mdSetup FCM / push

Non-fungsional (wajib diingat)

  1. POS tetap berguna saat link putus (cache + sync) — target.
  2. Integrasi andal: watermark, retry, idempotency.
  3. Security: JWT, pemisahan layer, privacy member.
  4. Parity member Android → iOS + Web kecuali skip eksplisit.
  5. UX elegant untuk kalangan atas.

Checklist saat ada perubahan (agent / eng)

  • Impact check lintas app (cross-app-impact)
  • Schema? → migration file + cascade admin/be/be-pos
  • API berubah? → update api/be.md atau api/be-pos.md; info client dulu
  • Member berubah? → Android + iOS + Web
  • Changelog app + versions/README.md
  • Spec baru/update di specs/
  • Update status di Summary (bagian Features / Backlog) bila scope produk berubah

Riwayat dokumen

TanggalCatatan
2026-07PRD member + arsitektur terpisah
2026-08-21Merge PRD → reconcile status app
2026-08-21Ganti jadi Summary (summary.md) — hub keseluruhan docs + checklist backlog