Task:

Analisis seluruh folder proyek ini dan buat file `SYSTEM_MAP.md` di root sebagai navigasi utama (sekali jalan / one-shot).


Strict Exclusions (WAJIB ABAIKAN):

- Dependencies: `node_modules`, `.venv`, `venv`, `env`, `vendor`, `target`, `.gradle`, `bin`, `pkg`

- Build/IDE/cache: `dist`, `build`, `.git`, `.vscode`, `.idea`, `__pycache__`, `tmp`, `coverage`, `.next`, `.nuxt`, `.cache`

- Artifacts: `*.log`, `*.lock`, `*.min.*`, `*.map`


Metode Kerja (WAJIB):

1. Gunakan workflow `trace-by-function / trace-by-flow`, bukan scan penuh file besar.

2. Mulai dari entrypoint paling relevan (`main/index/app/server` atau setara), lalu telusuri:

  `View/UI -> Client -> Route/Handler -> Controller -> Service/Usecase -> Repository/Query -> DB/API/Queue/File I/O`.

3. Baca hanya blok fungsi yang relevan; hindari full read file besar.

4. Fokus pada fungsi publik/utama per file (lintas bahasa: exported/public/top-level main handlers).

5. Jika monorepo/multi-app, kelompokkan per app dalam satu `SYSTEM_MAP.md`.


Output Wajib di `SYSTEM_MAP.md`:


# Project Summary

- Tujuan aplikasi

- Tech stack utama (runtime, framework, DB, queue/integrasi penting)

- Pola arsitektur singkat


# Core Logic Flow (Function-Level Flowchart)

- Flow teks alur kritikal dengan format:

 `Route/Trigger -> Controller[func] -> Service[func] -> Repo/Query[func] -> DB/API`

- Hanya flow inti yang menggerakkan sistem.


# Clean Tree

- Tree ringkas hanya source code asli (patuh exclusions).


# Module Map (The Chapters)

Untuk setiap file penting:

- `path/file`

- fungsi/class publik utama

- 1 kalimat peran modul


# Data & Config

- Lokasi `.env*` / config utama

- Skema data singkat (tabel/collection/entity inti + relasi ringkas)

- Lokasi migration/seed

- Folder output/runtime artifacts


# External Integrations

- Daftar API/service eksternal + modul pemanggilnya


# Risks / Blind Spots

- Bagian yang tidak bisa dipetakan pasti (contoh: dynamic import, generated code, config tidak ada)


Rules:

- Jangan tulis ulang kode program.

- Jangan copy query/kode panjang; cukup ringkas fungsi/tujuan.

- Padat, cepat dipindai, efisien untuk AI chat berikutnya.

- Jika data tidak ditemukan, tulis `Not found` (jangan asumsi).

- Bahasa: Indonesia.