สถาปัตยกรรม TRM App — ThaiRescueMap

สถาปัตยกรรม TRM App — ThaiRescueMap A architecture diagram generated by Archify. ผู้ใช้งาน · ประชาชน / หน่วยภาคสนาม · Architecture component ผู้ใช้งาน ประชาชน / หน่วยภาคสนาม TRM Mobile · Flutter (trm_mock) · Architecture component · go_router + Dio TRM Mobile Flutter (trm_mock) go_router + Dio Map Tiles · OpenStreetMap / Carto · Architecture component Map Tiles OpenStreetMap / Carto Moonshot AI · Kimi k2.5 · Architecture component Moonshot AI Kimi k2.5 Firebase FCM · push notification · Architecture component Firebase FCM push notification ThaiRescueMap API · .NET 10 · REST /v1 + SignalR /hubs · Architecture component · Render · Docker ThaiRescueMap API .NET 10 · REST /v1 + SignalR /hubs Render · Docker Google Sign-In · ตรวจสอบ ID token · Architecture component Google Sign-In ตรวจสอบ ID token PostgreSQL · Supabase · PostGIS · Architecture component · RLS per-org PostgreSQL Supabase · PostGIS RLS per-org AWS S3 · ไฟล์หลักฐาน · Architecture component AWS S3 ไฟล์หลักฐาน AWS SES · อีเมลระบบ · Architecture component AWS SES อีเมลระบบ REST /v1 + JWT วิเคราะห์รายงานเหตุ FCM HTTP v1 แจ้งเตือน push EF Core + PostGIS อัปโหลดไฟล์ ส่งอีเมล ตรวจสอบ token Legend Frontend Backend Database Cloud Security External

Mobile (trm_mock)

  • • Flutter สองโหมด: /citizen และ /field ผ่าน go_router
  • • Dio singleton + interceptor ต่ออายุ JWT อัตโนมัติ
  • • คิวงาน offline เก็บในหน่วยความจำ (FieldTaskStore)

Backend (backend-warroom)

  • • Clean Architecture 4 ชั้น: API / Application / Domain / Infrastructure
  • • แยกข้อมูลหลายองค์กรด้วย RlsInterceptor (EF Core)
  • • SignalR /hubs (แอปยังไม่เชื่อมต่อ) · Docker บน Render

บริการภายนอก

  • • Supabase PostgreSQL + PostGIS
  • • AWS S3 / SES (fallback เป็น local/mock เมื่อปิด AWS)
  • • Moonshot Kimi วิเคราะห์เหตุฝั่งแอปโดยตรง