A web application that displays real-time disaster events from the Global Disaster Alert and Coordination System (GDACS) on an interactive OpenStreetMap.
- Real-time disaster data from GDACS API via backend proxy
- Interactive map with OpenStreetMap and custom markers
- Alert level filtering (Green, Orange, Red)
- Multiple data sources (DFO, GPM, DFOMERGE, RSS)
- Responsive design for desktop and mobile
- Event details with location, type, and alert levels
- Node.js (v14 or higher)
- npm
-
Install dependencies:
npm install
-
Start the backend server:
npm start
Or for development with auto-reload:
npm run dev
-
Configure environment variables (optional):
cp .env.example .env # Edit .env and add your IFRC GO API token if you want to use IFRC features -
Access the application: Open your browser and go to:
http://localhost:3003
GET /- Frontend applicationGET /api/disasters- Get disaster events (tries GDACS API, falls back to sample data)- Query parameters:
source: Data source (DFO, GPM, DFOMERGE, ALL)alertLevel: Filter by alert level (GREEN, ORANGE, RED)from: Start date (YYYY-MM-DD)to: End date (YYYY-MM-DD)
- Query parameters:
GET /api/disasters/sample- Get sample disaster events for testingGET /api/health- Health checkGET /api/health-facilities- Health facilities dataGET /api/ifrc-documents- IFRC humanitarian documents (requires API token)GET /api/ifrc-countries- IFRC countries list (requires API token)
This application can integrate with the IFRC GO API to provide humanitarian response documents and country information.
-
Get an API token:
- Visit https://goadmin.ifrc.org/
- Create an account and obtain an API token
-
Configure the token:
- Copy
.envfile in the project root - Set
IFRC_GO_API_TOKEN=your_actual_token_here
- Copy
-
Features enabled with IFRC API:
- Access to humanitarian response documents
- Country-specific disaster appeals
- Enhanced disaster response information
Note: The application works fully without IFRC integration. IFRC features are optional enhancements.
- GDACS Flood Data API - Real-time flood and precipitation data
- GDACS RSS Feed - General disaster events (earthquakes, cyclones, etc.)
- Fallback sample data - For demonstration when APIs are unavailable
- Frontend: HTML5, CSS3, JavaScript, Leaflet.js
- Backend: Node.js, Express.js
- APIs: GDACS, OpenStreetMap
- Data formats: JSON, XML/RSS
- The map loads with current disaster events automatically
- Use the alert level dropdown to filter events by severity
- Click "Refresh Data" to update with latest events
- Click on markers or sidebar events to focus on specific disasters
- Each event shows details including type, location, and alert level
- The backend serves as a proxy to handle CORS restrictions from GDACS
- Multiple data sources ensure reliability
- Events are color-coded by alert level (Green/Orange/Red)
- Mobile-responsive design adapts to different screen sizes