Dublin Core
Title
BOSNIAN NATURAL DISASTER MONITORING SYSTEM
Abstract
This thesis presents the design and implementation of the Bosnian Natural Disaster Monitoring System (BNDMS), a web application that addresses the practical need for a unified, timely, and auditable way to report incidents, coordinate response tasks, and communicate official updates within Bosnia and Herzegovina. The problem targeted is the absence of a single, user-friendly system that connects citizens, emergency workers, organizers, and administrators around geolocated incident data and role-appropriate actions.
BNDMS is implemented as a Django-based monolith with two logical layers (api and front_end). A custom Account model provides role-based access control (levels: logged-in user, emergency worker, organizer, admin). Core domain models – Report, Task, News, and Request – inherit from a shared base with UUID identifiers and soft-delete for auditability. Methods and procedures include: server-rendered forms for validation and CSRF protection; a thin controller layer that encapsulates uniform CRUD operations and soft-delete semantics; Bootstrap-based templates for a responsive UI; and a geospatial workflow where user-submitted addresses are geocoded and stored as latitude/longitude for immediate display on a Leaflet map with OpenStreetMap tiles. End-to-end procedures cover account registration and login, incident reporting (title, description, address → coordinates), organizer assignment of tasks to specific users, emergency-worker status updates, and the publication of official news by privileged roles. Quality is supported by unit tests for models, Selenium scaffolding for system flows, and management commands for repeatable role administration.
Results show a working system that enables citizen reporting, real-time map visualization from stored coordinates, structured tasking tied to incidents, and transparent publication of official information – while preserving history and enforcing permissions. The conclusion is that BNDMS delivers a maintainable, open, and extensible foundation for operational situational awareness in a disaster context and is well positioned for future enhancements such as a REST API, PostgreSQL/PostGIS, richer spatial analytics (e.g., clustering and proximity queries), and a mobile client.
BNDMS is implemented as a Django-based monolith with two logical layers (api and front_end). A custom Account model provides role-based access control (levels: logged-in user, emergency worker, organizer, admin). Core domain models – Report, Task, News, and Request – inherit from a shared base with UUID identifiers and soft-delete for auditability. Methods and procedures include: server-rendered forms for validation and CSRF protection; a thin controller layer that encapsulates uniform CRUD operations and soft-delete semantics; Bootstrap-based templates for a responsive UI; and a geospatial workflow where user-submitted addresses are geocoded and stored as latitude/longitude for immediate display on a Leaflet map with OpenStreetMap tiles. End-to-end procedures cover account registration and login, incident reporting (title, description, address → coordinates), organizer assignment of tasks to specific users, emergency-worker status updates, and the publication of official news by privileged roles. Quality is supported by unit tests for models, Selenium scaffolding for system flows, and management commands for repeatable role administration.
Results show a working system that enables citizen reporting, real-time map visualization from stored coordinates, structured tasking tied to incidents, and transparent publication of official information – while preserving history and enforcing permissions. The conclusion is that BNDMS delivers a maintainable, open, and extensible foundation for operational situational awareness in a disaster context and is well positioned for future enhancements such as a REST API, PostgreSQL/PostGIS, richer spatial analytics (e.g., clustering and proximity queries), and a mobile client.
Keywords
natural disaster monitoring; Bosnia and Herzegovina; incident reporting; geocoding; Leaflet; OpenStreetMap; Django; role-based access control; task management; auditability.
