The Emergency Management and Coordination application is a complete, end-to-end, enterprise-class disaster management application. Developed with PostgreSQL , PostGIS , Next.js, and Python Flask , it's an open-source coordination platform that collects and visualizes real-time disaster data. It aims to streamline disaster management by tracking global earthquake, fire, and tsunami data. Designed with an enterprise-level architecture, the system aims to facilitate holistic disaster management and enhance coordination among units. This project is among the open source software developed in Türkiye and is proudly displayed on the Made in Turkey 🇹🇷 list.
This project actively supports the United Nations Sustainable Development Goals:
- Goal 9: Industry, Innovation and Infrastructure
- Goal 11: Sustainable Cities and Communities
- Goal 13: Climate Action
By combining open-source innovation, modular infrastructure, and real-time disaster coordination, the system contributes to resilient communities and inclusive climate action.
- Project About
- Featured Features
- System Architecture
- System Modules and Screenshots
- Setup
- Technology Stack
- API Endpoints
- Database Schema
- Security and Roles
- Development Process
- Roadmap
- Contribution Providing
- License
- Contact
The Emergency Management and Coordination System is a comprehensive, open-source platform developed for global disaster management. Built using modern web technologies, the system tracks global earthquake, fire, and tsunami data in real time, facilitating disaster management.
- Global Coverage: Tracking and management of disaster data worldwide
- Real-Time Monitoring: Track live earthquake, fire and tsunami data
- Organizational Structure: Scalable architecture for large organizations
- Coordination: Effective communication and coordination between units
- Data Analysis: Comprehensive reporting and analysis tools
- Global data integration: NASA FIRMS, USGS, EMSC, Tsunami Alert services
- Map-based visualization: Mapbox GL JS and Leaflet -powered dashboard
- Warehouse and inventory management: Detailed category, infrastructure and condition systems
- Equipment and inventory tracking: Tracking by brand, model, serial number and maintenance records
- Container and tent city management: Infrastructure and logistics support for shelter areas
- Personnel and volunteer management: Role-based assignment, communication and task matching
- Mission planning and management: Scheduling and tracking of emergency operations
- District management: Hierarchical geographic structure, color map overlays according to emergency levels
- Log management: Control of system operations and error tracking
- Reporting tools: Visual and textual outputs based on data analysis
- Settings module: System configuration and user preferences management
- Security structure: Role and authority-based access control (RBAC)
- Geographic data analysis with PostGIS: 31+ tables and advanced query support
- Smart caching system: Fast data access based on JSON files
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Frontend │ │ Backend API │ │ Veritabanı │
│ (Next.js) │◄──►│ (Flask) │◄──►│ (PostgreSQL) │
│ │ │ │ │ + PostGIS │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Harita Servisi │ │ Dış API'ler │ │ Cache Sistemi │
│ (Mapbox/Leaflet)│ │ (NASA/USGS/EMSC)│ │ (JSON) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
- External APIs → Cron services → Cache → Database
- User Requests → Next.js API Routes → Prisma ORM → PostgreSQL
- Real-Time Updates → WebSocket → Frontend Components
The main dashboard is designed for real-time viewing of critical system-wide data.
Features:
- Real-time disaster data (earthquake, fire, tsunami)
- Statistical summary cards
- Quick access menu
- Notification center
- System status indicators
Interactive map system visualizing global disaster data.
Features:
- Mapbox GL JS and Leaflet integration
- Real-time earthquake, fire and tsunami data
- Layered map views
- Geo-filtering and search
- Popup detail information
Module where the hierarchical geographical structure is managed and emergency levels are determined.
Features:
- Country, city, district hierarchy
- Emergency level assignment (CRITICAL, HIGH, MEDIUM, LOW)
- Colorful map overlays
- Geographic coordinate management
- Region-based statistics
The system in which the corporate personnel structure is organized and job assignments are made.
Features:
- Role-based personnel records
- Department and position assignments
- Contact information management
- Task history tracking
- Performance evaluation
Comprehensive inventory system that coordinates the storage and distribution of disaster supplies.
Features:
- Multi-warehouse management
- Stock tracking and warning system
- Transfer and transportation coordination
- Warehouse personnel management
- Vehicle fleet tracking
- Detailed reporting
Module where the tracking, maintenance and distribution of emergency equipment is managed.
Features:
- Equipment categories and subcategories
- Brand, model, serial number tracking
- Maintenance planning and history
- Usage status monitoring
- Reservation system
A system that tracks general material and resource inventory in detail.
Features:
- Category-based inventory classification
- Unit and quantity tracking
- Expiration date warnings
- Minimum stock limits
- Supplier information
A comprehensive system for coordinating the establishment and management of temporary shelters.
Features:
- Urban establishment and planning
- Infrastructure management (water, electricity, sewerage)
- Camp recording and tracking
- Service coordination (health, education, social)
- City personnel management
- Logistics and material distribution
Mission coordination system for planning and monitoring emergency operations.
Features:
- Creating and assigning tasks
- Priority level determination
- Progress tracking
- Timetable management
- Task dependencies
- Completion reports
A central notification system where important system-wide events and alerts are managed.
Features:
- Real-time notifications
- Priority-based classification
- Automatic warning systems
- Notification history
- Personalized alerts
The system by which volunteer coordination and training programs are managed.
Features:
- Volunteer registration and profile management
- Skill and certification tracking
- Training modules and programs
- Mission matching system
- Volunteer store
- Group organization
Comprehensive reporting module where system data is analyzed and reported.
Features:
- Customizable report templates
- Graphical and visual analysis tools
- PDF and Excel export
- Creating timely reports
- Statistical analysis
- Performance metrics
Strategic planning system in which pre-disaster preparedness and response plans are created.
Features:
- Scenario-based planning
- Resource allocation planning
- Creating a timeline
- Risk assessment matrices
- Plan versioning
- Simulation support
Log tracking system where system operations are recorded and audited.
Features:
- Detailed system logs
- User transaction history
- Error tracking and analysis
- Security logs
- Performance metrics
- Log filtering and searching
Settings module where system configuration and user preferences are managed.
Features:
- User profile settings
- System configuration
- Notification preferences
- Security settings
- Backup configuration
- API configuration
Profile system where user account information and personal preferences are managed.
Features:
- Personal information update
- Change password
- Profile photo management
- Communication preferences
- Security settings
- Account history
- Node.js 18+
- Python 3.8+
- PostgreSQL 14+ ( with PostGIS )
- Go
git clone < repository -url>
CD emergency management
npm install
npx prism generate
npx prism db push
node scripts /add-users.js
npm run dev
createdb emergency_management
psql -d emergency_management -c "CREATE EXTENSION postgis ;"
psql -d emergency_management -c "CREATE EXTENSION postgis_topology ;"
Create a .env .local
file:
DATABASE_URL="postgresql://username:password@localhost:5432/emergency_management"
NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET=" your-secret-key "
MAPBOX_ACCESS_TOKEN=" your-mapbox-token "
Layer | Technology |
---|---|
Backend | Python Flask API |
Frontend | Next.js ( React based) |
Database | PostgreSQL + PostGIS |
ORM | Prisma ORM |
Map System | Mapbox GL JS, Leaflet |
Authentication | NextAuth.js |
UI Framework | Ant Design |
Style | Tailwind CSS |
/ api / earthquakes
: Earthquake data/ api / fires / all
: Fire data/ api /tsunami- alerts
: Tsunami warnings/ api / notifications
: Notification service/ api / cache / earthquakes
: Earthquake data from cache/ api / cache / fires
: Fire data from cache/ api / regions
: Region management/ api / personnel
: Personnel management/ api / equipment
: Equipment management/ api / warehouse
: Warehouse management/ api / tasks
: Task management
The system uses a comprehensive data model with 31+ tables:
users
: User managementregions
: Region hierarchyequipment
: Equipment trackingwarehouse
: Warehouse managementinventory
: Inventory systemtasks
: Task managementnotifications
: Notification system
geonames
: Global geographic data (95 countries, 8,740 cities, 973 counties)earthquake_zones
: Earthquake zonescoordinates
: Coordinate data
- ** Total Geographic Records **: 9,808
- ** Number of Countries **: 95
- ** Number of Cities **: 8,740
- ** Number of Districts **: 973
The system uses role-based access control (RBAC):
- ADMIN: Full system access
- MANAGER: Institution management
- REGIONAL_MANAGER: Regional management
- STAFF: Operational staff
- VOLUNTEER: Volunteer users
- TypeScript usage is mandatory
- ESLint and Prettier configuration
- Conventional Commits standard
- Code review process
- Unit tests (Jest)
- Integration tests
- E2E tests ( Playwright )
- API tests
- Mobile application development
- AI-supported risk analysis
- Blockchain -based resource tracking
- IoT sensor integration
- Multi-language support
- Real-time map system
- Comprehensive inventory management
- Role-based access control
- PDF reporting system
- Notification center
To contribute, follow these steps:
- Fork the project
- A new feature Create a branch:
git checkout -b feature / NewFeature
- Commit your changes :
git commit -m 'New feature added'
- Branch push :
git push origin feature / New Feature
- Pull Open a request
See CONTRIBUTING.md
and CLA.md
for more information.
This software is available under the Apache 2.0 and BSD 3-Clause licenses. Users can choose the license they want.
The Apache 2.0 license provides broad permissions for use in commercial and open source projects. It includes patent protection and legal protections for contributors.
The BSD 3-Clause license permits redistribution and use with minimal restrictions. It requires preservation of the original copyright notice and license text.
*Both licenses require that developer Mustafa Barış Arslantaş's copyright be protected and his name be associated with the project. *
For detailed license texts:
For questions about the project, visit GitHub You can contact us through the Issues section or directly:
- GitHub: https://github.com/ArslantasM/Emergency_Management_and_Coordination_System
- Email: arslantas.m@gmail.com
- Phone: +90 542 559 69 46
I would like to thank all volunteers who supported the idea, development process and contribution environment in this project that will benefit people on a global scale.
Technological transformation in disaster management worldwide with the Emergency Management and Coordination System
🌟 Star Project | 🐛 Bug Report | ✨ Feature Request