A comprehensive training platform for disaster response, featuring AI-driven simulations, scenario generation from real-world reports, and detailed analytics.
This platform allows Trainers to create realistic disaster scenarios (manually or by importing PDF After Action Reports) and assign them to Trainees. Trainees engage in interactive, chat-based simulations powered by an LLM (Google Gemini), which acts as the simulation engine. Upon completion, the system generates a structured After Action Report (AAR) and a PDF summary.
For more detailed information, check the docs/ folder:
- Architecture: System design and component interaction.
- API Reference: Backend API endpoints.
- Data Model: Database schema.
- User Flows: Step-by-step user journeys.
- Deployment: Build and run instructions.
- Frontend: Next.js 14 (App Router), TypeScript, Tailwind CSS, Shadcn UI.
- Backend: FastAPI (Python), Pydantic, Google Gemini (AI).
- Database: Supabase (PostgreSQL).
- Storage: Supabase Storage.
- Authentication: Supabase Auth.
- Node.js 18+
- Python 3.11+
- Supabase Account
Create a .env file in server/ and .env.local in frontend/.
Server (server/.env):
SUPABASE_URL="your-supabase-url"
SUPABASE_KEY="your-supabase-anon-key"
SUPABASE_SERVICE_ROLE="your-service-role-key"
GEMINI_API_KEY="your-gemini-api-key"Frontend (frontend/.env.local):
NEXT_PUBLIC_SUPABASE_URL="your-supabase-url"
NEXT_PUBLIC_SUPABASE_ANON_KEY="your-supabase-anon-key"
NEXT_PUBLIC_API_BASE_URL="http://localhost:8000"Run the SQL migrations found in supabase/migrations (or frontend/setup.sql) in your Supabase SQL Editor to create the necessary tables (profiles, scenarios, scenario_sessions, etc.) and storage buckets (aar_uploads, aar_reports).
cd server
python -m venv .venv
source .venv/bin/activate # or .venv\Scripts\activate on Windows
pip install -r requirements.txt
uvicorn main:app --reloadcd frontend
npm install
npm run devOpen http://localhost:3000 in your browser.
See the docs/ folder for detailed documentation: