How vigiapriliansyah/posyandu-digital-kms--app works
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: ApiService.kt HTTP API client · database.js Database connection · MainActivity.kt App navigation · server.js Express server
Components 32
Android experience
- App navigation
PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/MainActivity.kt - Login and registration
PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/login/LoginScreen.kt - Role dashboards
PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/dashboard - Child records
PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/anak - Measurements
PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/pengukuran - Parent verification
PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/kader - User management
PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/usermanagement/UserManagementScreen.kt - Reports
PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/ui/dashboard
Mobile data
- HTTP API client
PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/data/remote/api/ApiService.kt - Session storage
PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/data/session/SessionManager.kt - Offline measurement sync
PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/worker/SyncKmsWorker.kt - Local database
PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/data/local/LocalDatabase.kt
Backend API
- Express server
Posyandu-Digital-Backend/server.js - Authentication routes
Posyandu-Digital-Backend/routes/authRoutes.js - Child routes
Posyandu-Digital-Backend/routes/anakRoutes.js - Dashboard routes
Posyandu-Digital-Backend/routes/dashboardRoutes.js - Other API routes
Posyandu-Digital-Backend/routes
Domain services
- Authentication
Posyandu-Digital-Backend/controllers/authController.js - Child management
Posyandu-Digital-Backend/controllers/anakController.js - Growth dashboards
Posyandu-Digital-Backend/controllers/dashboardController.js - Measurement reports
Posyandu-Digital-Backend/controllers/laporanController.js - Cadre verification
Posyandu-Digital-Backend/controllers/kaderController.js - User administration
Posyandu-Digital-Backend/controllers/userController.js - WHO nutrition scoring
Posyandu-Digital-Backend/utils/zscore.js
Persistence
- Database connection
Posyandu-Digital-Backend/config/database.js - Accounts
Posyandu-Digital-Backend/models/User.js - Children
Posyandu-Digital-Backend/models/Anak.js - Measurements
Posyandu-Digital-Backend/models/Pengukuran.js - Service-area records
Posyandu-Digital-Backend/models - Role profiles
Posyandu-Digital-Backend/models - Parent-child link
Posyandu-Digital-Backend/models/OrangTuaAnak.js
Other components
- App users
Connections 42
- App users → App navigation: uses
- App navigation → Login and registration: navigates
PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/MainActivity.kt - App navigation → Role dashboards: navigates
PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/MainActivity.kt - App navigation → Parent verification: navigates
PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/MainActivity.kt - App navigation → User management: navigates
PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/MainActivity.kt - Login and registration → HTTP API client: calls
- HTTP API client → Express server: HTTP requests
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
PosyanduDigital/app/src/main/java/com/skripsi/posyandudigital/worker/SyncKmsWorker.kt - Express server → Authentication routes: mounts
Posyandu-Digital-Backend/server.js - Express server → Child routes: mounts
Posyandu-Digital-Backend/server.js - Express server → Dashboard routes: mounts
Posyandu-Digital-Backend/server.js - Express server → Other API routes: mounts
Posyandu-Digital-Backend/server.js - Authentication routes → Authentication: dispatches
Posyandu-Digital-Backend/routes/authRoutes.js - Child routes → Child management: dispatches
Posyandu-Digital-Backend/routes/anakRoutes.js - Dashboard routes → Growth dashboards: dispatches
Posyandu-Digital-Backend/routes/dashboardRoutes.js - Other API routes → Cadre verification: dispatches
Posyandu-Digital-Backend/routes/kaderRoutes.js - Other API routes → User administration: dispatches
Posyandu-Digital-Backend/routes/userRoutes.js - Other API routes → Measurement reports: dispatches
- Authentication → Accounts: reads and writes
Posyandu-Digital-Backend/controllers/authController.js - Child management → Children: creates and queries
Posyandu-Digital-Backend/controllers/anakController.js - Child management → Parent-child link: links parent
Posyandu-Digital-Backend/controllers/anakController.js - Child management → Role profiles: queries profiles
Posyandu-Digital-Backend/controllers/anakController.js - Child management → Service-area records: queries service areas
Posyandu-Digital-Backend/controllers/anakController.js - Growth dashboards → Accounts: counts accounts
Posyandu-Digital-Backend/controllers/dashboardController.js - Growth dashboards → Children: queries children
Posyandu-Digital-Backend/controllers/dashboardController.js - Growth dashboards → Measurements: reads measurements
Posyandu-Digital-Backend/controllers/dashboardController.js - Growth dashboards → WHO nutrition scoring: calculates status
Posyandu-Digital-Backend/controllers/dashboardController.js - Measurement reports → Measurements: queries reports
Posyandu-Digital-Backend/controllers/laporanController.js - Cadre verification → Accounts: updates accounts
Posyandu-Digital-Backend/controllers/kaderController.js - User administration → Accounts: manages accounts
Posyandu-Digital-Backend/controllers/userController.js - Database connection → Accounts: provides connection
Posyandu-Digital-Backend/models/User.js - Database connection → Children: provides connection
Posyandu-Digital-Backend/models/Anak.js - Database connection → Measurements: provides connection
Posyandu-Digital-Backend/models/Pengukuran.js - Database connection → Service-area records: provides connection
Posyandu-Digital-Backend/models/Pengukuran.js - Database connection → Role profiles: provides connection
Posyandu-Digital-Backend/models/Pengukuran.js