# vigiapriliansyah/posyandu-digital-kms--app architecture

> Architecture diagram of the GitHub repository vigiapriliansyah/posyandu-digital-kms--app, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-15). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/vigiapriliansyah/posyandu-digital-kms--app
- Repository: https://github.com/vigiapriliansyah/posyandu-digital-kms--app

## Overview

Posyandu Digital is an Android client and Express backend for digitizing child growth monitoring. Parents and cadres register or sign in, manage child records, and record measurements; cadres also verify parents, while role-specific dashboards and reports expose monitoring results. The app uses Retrofit to communicate with the server, and the README describes offline-first measurement capture and background synchronization. The sampled sources show backend routing, authentication, child management, and dashboard calculations; several other capabilities are documented or indexed but their implementation details were not inspected.

Main entry points: [`PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/data/remote/api/ApiService.kt`](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/data/remote/api/ApiService.kt) (HTTP API client), [`Posyandu-Digital-Backend/config/database.js`](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/config/database.js) (Database connection), [`PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/MainActivity.kt`](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/MainActivity.kt) (App navigation), [`Posyandu-Digital-Backend/server.js`](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/server.js) (Express server)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_mobile_ui["Android experience"]
  node_activity["App navigation<br/>[MainActivity.kt]"]
  node_login["Login and registration<br/>[LoginScreen.kt]"]
  node_dashboard_ui["Role dashboards"]
  node_child_ui["Child records"]
  node_measurement_ui["Measurements"]
  node_verification_ui["Parent verification"]
  node_user_management_ui["User management"]
  node_reports["Reports"]
end

subgraph group_mobile_data["Mobile data"]
  node_api_client["HTTP API client<br/>[ApiService.kt]"]
  node_session["Session storage<br/>[SessionManager.kt]"]
  node_offline_sync["Offline measurement sync<br/>[SyncKmsWorker.kt]"]
  node_local_db[("Local database<br/>[LocalDatabase.kt]")]
end

subgraph group_api["Backend API"]
  node_server["Express server<br/>[server.js]"]
  node_auth_routes["Authentication routes<br/>[authRoutes.js]"]
  node_child_routes["Child routes<br/>[anakRoutes.js]"]
  node_dashboard_routes["Dashboard routes<br/>[dashboardRoutes.js]"]
  node_other_routes["Other API routes"]
end

subgraph group_domain["Domain services"]
  node_auth_controller["Authentication<br/>[authController.js]"]
  node_child_controller["Child management<br/>[anakController.js]"]
  node_dashboard_controller["Growth dashboards"]
  node_reports_controller["Measurement reports"]
  node_verification_controller["Cadre verification<br/>[kaderController.js]"]
  node_user_controller["User administration<br/>[userController.js]"]
  node_nutrition["WHO nutrition scoring<br/>[zscore.js]"]
end

subgraph group_persistence["Persistence"]
  node_database_config["Database connection<br/>[database.js]"]
  node_user_model["Accounts<br/>[User.js]"]
  node_child_model["Children<br/>[Anak.js]"]
  node_measurement_model["Measurements<br/>[Pengukuran.js]"]
  node_geography_models["Service-area records"]
  node_profile_models["Role profiles"]
  node_parent_child["Parent-child link<br/>[OrangTuaAnak.js]"]
end

node_user(("App users"))

node_user -->|"uses"| node_activity
node_activity -->|"navigates"| node_login
node_activity -->|"navigates"| node_dashboard_ui
node_activity -->|"navigates"| node_verification_ui
node_activity -->|"navigates"| node_user_management_ui
node_login -.->|"calls"| node_api_client
node_api_client -->|"HTTP requests"| node_server
node_login -.->|"saves session"| node_session
node_child_ui -.->|"calls"| node_api_client
node_measurement_ui -.->|"calls"| node_api_client
node_dashboard_ui -.->|"calls"| node_api_client
node_verification_ui -.->|"calls"| node_api_client
node_user_management_ui -.->|"calls"| node_api_client
node_offline_sync -.->|"reads queued data"| node_local_db
node_offline_sync -->|"synchronizes"| node_api_client
node_server -->|"mounts"| node_auth_routes
node_server -->|"mounts"| node_child_routes
node_server -->|"mounts"| node_dashboard_routes
node_server -->|"mounts"| node_other_routes
node_auth_routes -->|"dispatches"| node_auth_controller
node_child_routes -->|"dispatches"| node_child_controller
node_dashboard_routes -->|"dispatches"| node_dashboard_controller
node_other_routes -->|"dispatches"| node_verification_controller
node_other_routes -->|"dispatches"| node_user_controller
node_other_routes -.->|"dispatches"| node_reports_controller
node_auth_controller -->|"reads and writes"| node_user_model
node_child_controller -->|"creates and queries"| node_child_model
node_child_controller -->|"links parent"| node_parent_child
node_child_controller -->|"queries profiles"| node_profile_models
node_child_controller -->|"queries service areas"| node_geography_models
node_dashboard_controller -->|"counts accounts"| node_user_model
node_dashboard_controller -->|"queries children"| node_child_model
node_dashboard_controller -->|"reads measurements"| node_measurement_model
node_dashboard_controller -->|"calculates status"| node_nutrition
node_reports_controller -->|"queries reports"| node_measurement_model
node_verification_controller -->|"updates accounts"| node_user_model
node_user_controller -->|"manages accounts"| node_user_model
node_database_config -->|"provides connection"| node_user_model
node_database_config -->|"provides connection"| node_child_model
node_database_config -->|"provides connection"| node_measurement_model
node_database_config -.->|"provides connection"| node_geography_models
node_database_config -.->|"provides connection"| node_profile_models

click node_activity "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/MainActivity.kt"
click node_login "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/login/LoginScreen.kt"
click node_dashboard_ui "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/tree/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/dashboard"
click node_child_ui "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/tree/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/anak"
click node_measurement_ui "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/tree/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/pengukuran"
click node_verification_ui "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/tree/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/kader"
click node_user_management_ui "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/usermanagement/UserManagementScreen.kt"
click node_reports "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/tree/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/dashboard"
click node_api_client "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/data/remote/api/ApiService.kt"
click node_session "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/data/session/SessionManager.kt"
click node_offline_sync "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/worker/SyncKmsWorker.kt"
click node_local_db "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/data/local/LocalDatabase.kt"
click node_server "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/server.js"
click node_auth_routes "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/routes/authRoutes.js"
click node_child_routes "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/routes/anakRoutes.js"
click node_dashboard_routes "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/routes/dashboardRoutes.js"
click node_other_routes "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/tree/main/Posyandu-Digital-Backend/routes"
click node_auth_controller "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/controllers/authController.js"
click node_child_controller "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/controllers/anakController.js"
click node_dashboard_controller "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/controllers/dashboardController.js"
click node_reports_controller "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/controllers/laporanController.js"
click node_verification_controller "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/controllers/kaderController.js"
click node_user_controller "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/controllers/userController.js"
click node_nutrition "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/utils/zscore.js"
click node_database_config "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/config/database.js"
click node_user_model "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/models/User.js"
click node_child_model "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/models/Anak.js"
click node_measurement_model "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/models/Pengukuran.js"
click node_geography_models "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/tree/main/Posyandu-Digital-Backend/models"
click node_profile_models "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/tree/main/Posyandu-Digital-Backend/models"
click node_parent_child "https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/models/OrangTuaAnak.js"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_activity,node_login,node_dashboard_ui,node_child_ui,node_measurement_ui,node_verification_ui,node_user_management_ui,node_reports,node_user toneBlue
class node_api_client,node_session,node_offline_sync,node_local_db toneAmber
class node_server,node_auth_routes,node_child_routes,node_dashboard_routes,node_other_routes toneMint
class node_auth_controller,node_child_controller,node_dashboard_controller,node_reports_controller,node_verification_controller,node_user_controller,node_nutrition toneRose
class node_database_config,node_user_model,node_child_model,node_measurement_model,node_geography_models,node_profile_models,node_parent_child toneIndigo
```

## Components

### Android experience

- [App navigation](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/MainActivity.kt): `PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/MainActivity.kt`
- [Login and registration](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/login/LoginScreen.kt): `PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/login/LoginScreen.kt`
- [Role dashboards](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/tree/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/dashboard): `PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/dashboard`
- [Child records](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/tree/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/anak): `PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/anak`
- [Measurements](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/tree/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/pengukuran): `PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/pengukuran`
- [Parent verification](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/tree/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/kader): `PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/kader`
- [User management](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/usermanagement/UserManagementScreen.kt): `PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/usermanagement/UserManagementScreen.kt`
- [Reports](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/tree/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/dashboard): `PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/dashboard`

### Mobile data

- [HTTP API client](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/data/remote/api/ApiService.kt): `PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/data/remote/api/ApiService.kt`
- [Session storage](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/data/session/SessionManager.kt): `PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/data/session/SessionManager.kt`
- [Offline measurement sync](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/worker/SyncKmsWorker.kt): `PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/worker/SyncKmsWorker.kt`
- [Local database](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/data/local/LocalDatabase.kt): `PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/data/local/LocalDatabase.kt`

### Backend API

- [Express server](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/server.js): `Posyandu-Digital-Backend/server.js`
- [Authentication routes](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/routes/authRoutes.js): `Posyandu-Digital-Backend/routes/authRoutes.js`
- [Child routes](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/routes/anakRoutes.js): `Posyandu-Digital-Backend/routes/anakRoutes.js`
- [Dashboard routes](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/routes/dashboardRoutes.js): `Posyandu-Digital-Backend/routes/dashboardRoutes.js`
- [Other API routes](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/tree/main/Posyandu-Digital-Backend/routes): `Posyandu-Digital-Backend/routes`

### Domain services

- [Authentication](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/controllers/authController.js): `Posyandu-Digital-Backend/controllers/authController.js`
- [Child management](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/controllers/anakController.js): `Posyandu-Digital-Backend/controllers/anakController.js`
- [Growth dashboards](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/controllers/dashboardController.js): `Posyandu-Digital-Backend/controllers/dashboardController.js`
- [Measurement reports](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/controllers/laporanController.js): `Posyandu-Digital-Backend/controllers/laporanController.js`
- [Cadre verification](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/controllers/kaderController.js): `Posyandu-Digital-Backend/controllers/kaderController.js`
- [User administration](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/controllers/userController.js): `Posyandu-Digital-Backend/controllers/userController.js`
- [WHO nutrition scoring](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/utils/zscore.js): `Posyandu-Digital-Backend/utils/zscore.js`

### Persistence

- [Database connection](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/config/database.js): `Posyandu-Digital-Backend/config/database.js`
- [Accounts](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/models/User.js): `Posyandu-Digital-Backend/models/User.js`
- [Children](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/models/Anak.js): `Posyandu-Digital-Backend/models/Anak.js`
- [Measurements](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/models/Pengukuran.js): `Posyandu-Digital-Backend/models/Pengukuran.js`
- [Service-area records](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/tree/main/Posyandu-Digital-Backend/models): `Posyandu-Digital-Backend/models`
- [Role profiles](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/tree/main/Posyandu-Digital-Backend/models): `Posyandu-Digital-Backend/models`
- [Parent-child link](https://github.com/vigiapriliansyah/posyandu-digital-kms--app/blob/main/Posyandu-Digital-Backend/models/OrangTuaAnak.js): `Posyandu-Digital-Backend/models/OrangTuaAnak.js`

### Other components

- **App users**

## Connections

- App users → App navigation: uses
- App navigation → Login and registration: navigates (evidence: `PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/MainActivity.kt`)
- App navigation → Role dashboards: navigates (evidence: `PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/MainActivity.kt`)
- App navigation → Parent verification: navigates (evidence: `PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/MainActivity.kt`)
- App navigation → User management: navigates (evidence: `PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/MainActivity.kt`)
- Login and registration → HTTP API client: calls
- HTTP API client → Express server: HTTP requests (evidence: `README.md`)
- Login and registration → Session storage: saves session
- Child records → HTTP API client: calls
- Measurements → HTTP API client: calls
- Role dashboards → HTTP API client: calls
- Parent verification → HTTP API client: calls
- User management → HTTP API client: calls
- Offline measurement sync → Local database: reads queued data
- Offline measurement sync → HTTP API client: synchronizes (evidence: `PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/worker/SyncKmsWorker.kt`)
- Express server → Authentication routes: mounts (evidence: `Posyandu-Digital-Backend/server.js`)
- Express server → Child routes: mounts (evidence: `Posyandu-Digital-Backend/server.js`)
- Express server → Dashboard routes: mounts (evidence: `Posyandu-Digital-Backend/server.js`)
- Express server → Other API routes: mounts (evidence: `Posyandu-Digital-Backend/server.js`)
- Authentication routes → Authentication: dispatches (evidence: `Posyandu-Digital-Backend/routes/authRoutes.js`)
- Child routes → Child management: dispatches (evidence: `Posyandu-Digital-Backend/routes/anakRoutes.js`)
- Dashboard routes → Growth dashboards: dispatches (evidence: `Posyandu-Digital-Backend/routes/dashboardRoutes.js`)
- Other API routes → Cadre verification: dispatches (evidence: `Posyandu-Digital-Backend/routes/kaderRoutes.js`)
- Other API routes → User administration: dispatches (evidence: `Posyandu-Digital-Backend/routes/userRoutes.js`)
- Other API routes → Measurement reports: dispatches
- Authentication → Accounts: reads and writes (evidence: `Posyandu-Digital-Backend/controllers/authController.js`)
- Child management → Children: creates and queries (evidence: `Posyandu-Digital-Backend/controllers/anakController.js`)
- Child management → Parent-child link: links parent (evidence: `Posyandu-Digital-Backend/controllers/anakController.js`)
- Child management → Role profiles: queries profiles (evidence: `Posyandu-Digital-Backend/controllers/anakController.js`)
- Child management → Service-area records: queries service areas (evidence: `Posyandu-Digital-Backend/controllers/anakController.js`)
- Growth dashboards → Accounts: counts accounts (evidence: `Posyandu-Digital-Backend/controllers/dashboardController.js`)
- Growth dashboards → Children: queries children (evidence: `Posyandu-Digital-Backend/controllers/dashboardController.js`)
- Growth dashboards → Measurements: reads measurements (evidence: `Posyandu-Digital-Backend/controllers/dashboardController.js`)
- Growth dashboards → WHO nutrition scoring: calculates status (evidence: `Posyandu-Digital-Backend/controllers/dashboardController.js`)
- Measurement reports → Measurements: queries reports (evidence: `Posyandu-Digital-Backend/controllers/laporanController.js`)
- Cadre verification → Accounts: updates accounts (evidence: `Posyandu-Digital-Backend/controllers/kaderController.js`)
- User administration → Accounts: manages accounts (evidence: `Posyandu-Digital-Backend/controllers/userController.js`)
- Database connection → Accounts: provides connection (evidence: `Posyandu-Digital-Backend/models/User.js`)
- Database connection → Children: provides connection (evidence: `Posyandu-Digital-Backend/models/Anak.js`)
- Database connection → Measurements: provides connection (evidence: `Posyandu-Digital-Backend/models/Pengukuran.js`)
- Database connection → Service-area records: provides connection (evidence: `Posyandu-Digital-Backend/models/Pengukuran.js`)
- Database connection → Role profiles: provides connection (evidence: `Posyandu-Digital-Backend/models/Pengukuran.js`)
