The Samaneh Mobtani bar Hoosh-e Masnooei 137 is an environment for recording citizen reports and following their handling workflow, which makes the path from a citizen’s report to the resolution of the matter traceable. It consists of an Android application written in Kotlin, a server-side service based on Node and Prisma with a PostgreSQL database, and a React-based management dashboard. Every report is recorded with a photo, a GPS position and an address, and a tracking code is generated automatically for it. The handling workflow carries the report from the moment it is submitted through to completion or rejection, and the offline storage feature makes recording possible when there is no network.
The problem this system solves
When citizen reports are recorded only through a phone call or a verbal description, they often remain without accurate spatial detail and without any means of follow-up, and a sound assessment of them is difficult.
By recording a report with a photo and precise coordinates, the system provides the information needed for a field check at that moment and reduces ambiguity about the location of the matter.
Automatic tracking-code generation and workflow follow-up give every report a single identity and keep its state clear until a result is reached.
Citizen, operator and handling roles
Users are defined in several work roles so that each group performs only its own duties. The citizen submits a report in the Android app, the operator reviews and classifies incoming reports, and the responsible specialist handles the case and records the outcome.
The manager reviews the overall flow of reports and key indicators through the management dashboard.
- Citizen, who submits a report with a photo and location.
- Operator, who reviews, validates and refers reports.
- Handling specialist, who does the work and records the final outcome.
- Manager, who views the dashboard, indicators and report filters.
Submitting a report: photo, GPS position and address
When a report is submitted, the app takes a photo of the scene and attaches it to the same report; the image attachment keeps eyewitness evidence in the record.
The report’s GPS position is read and recorded at that moment, so the coordinates of the point can be used on the map and serve as an exact reference for the field check.
The address is also stored with the report, so in addition to the coordinates a natural-language description of the location remains in the record.
The combination of photo, coordinates and address gives the specialist a complete picture of the subject of the report.
Tracking code and handling workflow
For every report the system automatically generates a tracking code, so the report has a unique identifier throughout its handling cycle.
The handling workflow carries the report from the moment it is submitted through to completion or rejection and shows at each stage which state it is in.
Recording the final outcome and the state of each report makes it possible to review the history and assess the progress of handling.
Offline storage and periodic synchronisation
The application supports offline storage; when there is no network or coverage is weak, the report is kept locally and is not lost.
When the connection returns, the local data is synchronised with the server-side service periodically, so reports recorded offline are transferred to the central database.
This mechanism matters for field work in areas without a stable connection and prevents the flow of report recording from being interrupted.
Management dashboard and key indicators
The React-based management dashboard gives an aggregate picture of reports and their states and is used to follow the overall flow.
Key indicators display the state of reports in aggregate, and filters make it possible to narrow the list by type, state and date range.
Showing reports on the map clarifies their spatial distribution and is used to examine how topics are spread across an area.
- Key indicators of report states in aggregate.
- Filters by type, state and date range.
- Display of report distribution on the map.
Architecture, deployment and access control
The Android application is written in Kotlin, the server-side service runs on Node and Prisma over a PostgreSQL database, and the management dashboard is built with React.
The system can be deployed on the organisation’s server so that report data and images stay under the operator’s control.
User access is controlled by role, and users reach only the parts that correspond to their duties.
Summary
The Samaneh Mobtani bar Hoosh-e Masnooei 137 turns citizen reports, with photo, location and address, into a traceable workflow and generates an automatic tracking code for each report.
Offline storage and periodic synchronisation make recording possible without a network, and the management dashboard with indicators and a map gives an aggregate picture of report states.
The architecture based on a Kotlin Android app, a Node and Prisma service, a PostgreSQL database and a React dashboard makes the system predictable to maintain and extend.
