Project Aegis is a comprehensive set of applications designed for disaster and emergency response. It empowers field responders to report incidents in real-time (even in offline environments) and allows command center operators to visualize and manage these reports dynamically.
This repository is a monorepo containing two main web applications:
Located in the dashboard directory, this application serves as the central command hub for emergency response coordinators.
Key Features:
- Live Incident Map: Visualizes real-time incident reports on an interactive map using Leaflet.
- Live Feed: Displays a real-time feed of incoming reports.
- Connection Status: Monitors the connection state with the backend database.
Tech Stack: React, TailwindCSS, Firebase, React Leaflet.
Located in the field-app directory, this is a Progressive Web App (PWA) designed for on-the-ground emergency responders.
Key Features:
- Incident Reporting: Allows responders to submit detailed reports of incidents from the field.
- Offline-First Capabilities: Responders often operate in areas with poor or no internet connectivity. The app uses IndexedDB (via Dexie) to securely store reports locally when offline and automatically syncs them to the server once the connection is restored.
- Authentication: Secure login for authorized responders.
Tech Stack: React, TailwindCSS, Firebase, Dexie (IndexedDB), React Hook Form, Vite PWA.
To run these projects locally, you'll need Node.js installed on your machine.
You will need to set up a Firebase project and obtain your configuration keys. Both apps expect Firebase configuration to connect to your database.
- Navigate to the dashboard directory:
cd dashboard - Install dependencies:
npm install
- Start the development server:
npm run dev
- Navigate to the field app directory:
cd field-app - Install dependencies:
npm install
- Start the development server:
npm run dev
- React: UI Library
- Vite: Build Tool and Development Server
- TailwindCSS: Styling
- Firebase: Realtime Database & Authentication
- Dexie.js: Offline Data Storage (Field App)
- Leaflet: Interactive Maps (Dashboard)