How kchayta32/d-mind-mobile-app works
D-MIND is a Thailand-focused disaster monitoring and emergency-response system, with the native Android app and Kotlin/Ktor gateway identified as the active product. The main user flow is viewing disaster information and alerts, then requesting help or submitting a report; map layers, analytics, weather, and Dr.Mind chat provide additional capabilities. The graph follows documented endpoints and sampled implementation; several app-to-gateway details and unsampled subsystem internals are represented only where the README supports them.
Main entry points: routes API routes · MainActivity.kt Native app · DisasterUseCases.kt Map use cases · DataAggregatorService.kt Data aggregation
Components 21
Android app
- Native app
android/app/src/main/kotlin/com/dmind/app/MainActivity.kt - Dashboard
android/app/src/main/kotlin/com/dmind/app/ui/screens/dashboard/DashboardScreen.kt - Disaster map
android/app/src/main/kotlin/com/dmind/app/ui/screens/map/DisasterMapScreen.kt - Analytics view
android/app/src/main/kotlin/com/dmind/app/ui/screens/analytics/AnalyticsDashboardScreen.kt - Dr.Mind chat
android/app/src/main/kotlin/com/dmind/app/ui/screens/chatbot/ChatbotScreen.kt
Disaster information
- Map use cases
android/app/src/main/kotlin/com/dmind/app/domain/usecase/DisasterUseCases.kt - Disaster repository
android/app/src/main/kotlin/com/dmind/app/data/repository/DefaultDisasterRepository.kt - GISTDA repository
android/app/src/main/kotlin/com/dmind/app/data/repository/GistdaDisasterRepositoryImpl.kt - Analytics repository
android/app/src/main/kotlin/com/dmind/app/data/repository/AnalyticsRepository.kt
Emergency response
- Location tracking
android/app/src/main/java/com/dmind/app/service/BackgroundLocationService.java - Alert delivery
android/app/src/main/java/com/dmind/app/service/FCMDataMessageService.java
Backend gateway
- Gateway service
android/backend/src/main/kotlin/com/dmind/backend/Application.kt - API routes
android/backend/src/main/kotlin/com/dmind/backend/routes - Data aggregation
android/backend/src/main/kotlin/com/dmind/backend/service/DataAggregatorService.kt - Alert dispatch
android/backend/src/main/kotlin/com/dmind/backend/service/AutomaticAlertDispatcher.kt
External services
- Supabase
- Firebase FCM
- Disaster data sources
- Weather sources
- Thai LLM
android/app/src/main/kotlin/com/dmind/app/network/ThaiLlmChatClient.kt
Other components
- App user
Connections 21
- App user → Native app: uses
- Native app → Dashboard: shows
- App user → Disaster map: views layers
- Disaster map → Map use cases: requests data
- Map use cases → Disaster repository: loads data
- Map use cases → GISTDA repository: loads GISTDA
- App user → Analytics view: views trends
- Analytics view → Analytics repository: requests metrics
- App user → Dr.Mind chat: asks questions
- Dr.Mind chat → Thai LLM: sends chat
- App user → Location tracking: enables tracking
- Location tracking → Supabase: caches location
- Native app → Gateway service: calls API
- Gateway service → API routes: registers routes
- API routes → Data aggregation: requests metrics
- Data aggregation → Disaster data sources: fetches events
- Data aggregation → Weather sources: fetches forecasts
- API routes → Supabase: reads and writes
- API routes → Alert dispatch: requests dispatch
- Alert dispatch → Firebase FCM: sends push
- Firebase FCM → Alert delivery: delivers message