04 / 06Distributed systems
Disaster Response System
An academic platform split across device, data, interaction, and platform-security subgroups. I built the command centre that sits on top of it: the dashboard pages, the interactive incident map, resource and report workflows, and a shared permission model that navigation, route guards, and actions all read from.
Illustration
- Team
- Team of 20
- Status
- Completed
What I built
- 01Command centre pages for alerts, analytics, incoming reports, resources, and the incident map.
- 02Authentication context, reusable route guards, typed permissions, and role-aware navigation.
- 03Unit tests covering permissions, filters, validation, and dashboard statistics.
- 04Graceful behaviour when the database is unavailable, plus later work on alerts and audit access.
Scope and limits
- This was a 20-person project, so platform-wide features are team outcomes.
- The live Socket.IO map integration was added later by a teammate.
- The repository ships local demonstration credentials that must not be reused anywhere real.
Built with
- Next.js
- TypeScript
- Socket.IO
- Kafka
- PostgreSQL
- Docker
- Vitest