How nersus15/integrasi-stunting works
This repository runs a stunting-data service: HTTP clients submit or query family, child, health, and facility records; handlers delegate validation and access-sensitive operations to the service, which persists and reads domain data through the repository. A separate Kafka stream path processes incoming FHIR bundles into those records, with transaction retry and failure-listing support. The domain model and FHIR conversion helpers form the internal data-mapping layer. README is empty; stream-to-Kafka wiring and several route details are not established by the excerpts, so uncertain links are omitted.
Main entry points: stream.go FHIR stream processor · service.go Stunting service · jakantro.go Payload conversion · http.go HTTP handlers
Components 15
Application runtime
- Service startup
app/main.go - Module registration
modules/stunting/module.go - Module configuration
modules/stunting/config/config.go
HTTP API
- HTTP handlers
modules/stunting/handler/http.go - Stunting service
modules/stunting/service/service.go
FHIR ingestion
- Kafka handler
modules/stunting/handler/kafka.go - FHIR stream processor
modules/stunting/service/stream.go
Domain and mapping
- Payload conversion
modules/stunting/helper/types/jakantro.go - FHIR mapping
modules/stunting/helper/utils/fhir.go - Clinical entities
modules/stunting/entity/jakantro.go
Persistence
- Data repository
modules/stunting/repository/repository.go - Cache
modules/stunting/repository/cache.go - Stunting database
migration/stunting/postgres/01_postgresql.sql
Other components
- API client
- Kafka broker
Connections 19
- API client → HTTP handlers: sends requests
- Service startup → Module registration: starts modules
- Service startup → Module configuration: loads configuration
- HTTP handlers → Stunting service: delegates operations
- HTTP handlers → FHIR stream processor: requests failure listing
- HTTP handlers → Payload conversion: parses payloads
- Stunting service → Data repository: reads and writes
- Stunting service → Payload conversion: converts payloads
- Stunting service → Clinical entities: updates domain records
- Kafka handler → FHIR stream processor: dispatches messages
- Kafka broker → Kafka handler: delivers messages
- FHIR stream processor → FHIR mapping: maps FHIR resources
- FHIR stream processor → Payload conversion: converts mapped data
- FHIR stream processor → Stunting service: creates visits
- FHIR stream processor → Data repository: looks up and stores records
- FHIR mapping → Payload conversion: produces payloads
- Payload conversion → Clinical entities: maps to entities
- Data repository → Stunting database: queries and persists
- Data repository → Cache: reads and writes