LaporPak is a public issue reporting platform that helps citizens submit infrastructure, public facility, and environmental complaints, then routes them to the responsible agencies for transparent follow-up.
LaporPak connects citizens, government agencies, field officers, and administrators in one reporting workflow: citizens raise issues with photos and location data, agencies process and resolve reports, and admins manage the operational data behind the system.
| Repo | Stack | Description |
|---|---|---|
| LaporPak-Frontend | React / Vite / TypeScript / Tailwind CSS / TanStack Query | Web app for citizen reporting, agency follow-up, and admin operations |
| LaporPak-Backend | Express / TypeScript / Prisma / PostgreSQL / Better Auth | API service for authentication, reports, agencies, users, notifications, uploads, and AI-assisted review |
- Citizen Reporting - submit public issue reports with description, photos, category, and map location
- Location-based Tracking - view report markers and nearby issue context through an interactive map
- Report Timeline - follow report progress from submission to verification, processing, clarification, resolution, or rejection
- Agency Portal - let agencies and officers review incoming reports, update status, add notes, and upload resolution proof
- Admin Operations - manage agencies, branches, categories, users, officers, and reports across the platform
- Notifications - keep users aware of report and system updates
- Authentication - separate citizen, agency/officer, and admin portal access
- SEO-ready Web App - public pages include metadata, sitemap, manifest, canonical URLs, and structured data
LaporPak-Frontend
|
v
LaporPak-Backend
|
+--> PostgreSQL / Prisma
|
+--> Better Auth
|
+--> File Upload Storage
|
+--> Mapbox / Location Services
|
+--> AI-assisted Report ReviewFrontend - React, Vite, TypeScript, Tailwind CSS, TanStack Query, Axios, React Router, Mapbox GL
Backend - Express, TypeScript, Prisma, PostgreSQL, Better Auth, Multer, Nodemailer, Google GenAI
Deployment - frontend served through Docker and Nginx; backend exposes REST API endpoints for the web app
| Portal | Purpose |
|---|---|
| Citizen | Submit reports, upload evidence, choose location, and monitor status |
| Agency / Officer | Review assigned reports, update progress, request clarification, and resolve reports |
| Admin | Manage master data, users, assignments, and cross-agency report operations |
| Environment | URL |
|---|---|
| Frontend Production | https://web-laporpak.my.id |
| Local Backend | http://localhost:3000 |
See the setup guide in each repository: