A Progressive Web App (PWA) for tracking real-time P2000 emergency alerts across the Netherlands. P2000 is the paging network used by Dutch emergency services — fire brigades, ambulances, and police.
Built in late 2023 as a personal project.
- Live P2000 alerts — real-time emergency dispatch messages from all 25 Dutch safety regions
- Region filtering — switch between regions or view a combined feed of the latest alerts nationwide
- Trauma helicopter map — interactive map showing active trauma helicopter deployments across the Netherlands
- PWA support — installable on mobile (including iOS), works offline via Service Worker
- Auto-refresh — data updates automatically every 30 seconds
Frontend
- React 18
- React Leaflet (interactive maps)
- Bootstrap 5 + React-Bootstrap
- Axios
- Moment-timezone
Backend
- Node.js + Express
- MySQL
p2000/ React PWA frontend
api-server/ Express REST API
- Node.js 18+
- MySQL database populated with P2000 data
cd api-server
cp .env.example .env # fill in your database credentials
npm install
node server.jsThe server starts on port 5000 by default.
Environment variables:
| Variable | Description |
|---|---|
DB_HOST |
MySQL host |
DB_USER |
MySQL username |
DB_PASSWORD |
MySQL password |
DB_NAME |
Database name (default: P2000) |
API_KEY |
API key for request auth |
cd p2000
cp .env.example .env # set REACT_APP_API_KEY to match your API_KEY
npm install
npm startRuns on http://localhost:3000.
MIT