Project Case StudyJanuary 2021
Incidema - Perhutani Apps
Innovative digital platform that streamlines incident reporting in forest management through an intuitive interface, real-time notifications, geolocation tracking, and comprehensive analytics.
DesktopMobileNode.jsTypeScriptApache KafkaRedisMongoDBFirebase FCMExpress.jsRestify
#Incidema - Perhutani Apps
##Architectural Overview
Incidema is a straightforward digital platform tailored for forestry management officers to report and map forest-related incidents. As a Backend Engineer, I established the data pipelines to collect mobile location reports, distribute them to regional admins, and surface those insights on interactive dashboards.
// Dashboard Home
##Key Features
Location-Based Reporting
Direct integration allowing field officers to pin their location and submit visual incident logs.
Interactive Incident Heatmaps
Map interfaces grouping high-frequency report areas to guide daily patrols.
Super Admin Dashboards
Broad administrative views for recapitulation reports, data aggregation, and account management.
Push Notifications
Instant mobile alerts sent to area commanders when a severe issue is mapped.
##Engineering Highlights
###Event-Driven Reporting
To manage spikes in incoming reports reliably:
- Message Broker: Channeled incoming mobile data straight into an Apache Kafka queue, preventing database deadlocks when multiple officers report from areas with poor signal simultaneously.
- Flexible Schema: Used MongoDB alongside the spatial logic to hold unstructured text descriptions and varied image payloads safely.

// Geospatial Heatmap
##My Role and Responsibilities
- API Design: Scaffolded the Express.js and Restify endpoints connecting the mobile clients to the backend queue.
- Data Persistence Strategy: Connected the Kafka consumers directly to the MongoDB collections for clean, steady writes.
- Authentication: Integrated basic secure JWT session handling for super admins.
- Notification Loop: Hooked up Firebase FCM to the backend, triggering specific topic-based alerts depending on report severity.

// Push Notifications
##Technical Stack
- Languages: Node.js, TypeScript
- Event Streaming: Apache Kafka
- Database: MongoDB, Redis
- Services: Firebase FCM, Express.js, Restify
- Testing Core: Mocha, Chai, Sinon