A comprehensive web-based platform for fire department operations, resource management, and emergency response coordination.
- Dashboard - Real-time operational overview with KPIs and metrics
- GIS-based Asset Management - Interactive maps with vehicle, hydrant, and station tracking
- Personnel Management - Directory, profiles, assignments, and scheduling
- Incident Management - Complete lifecycle from creation to closure with real-time tracking
- Reports & Analytics - Performance metrics, trends, and comprehensive reporting
- Notifications - Real-time alerts and communication system
- Admin & Settings - System configuration and user management
- Real-time Tracking - GPS tracking of vehicles and personnel
- Interactive Maps - Leaflet-based mapping with multiple layers
- Role-based Access - CC Operators, Field Responders, and Admin roles
- Mobile Responsive - Optimized for both desktop and mobile devices
- Comprehensive Reporting - Daily, weekly, and monthly analytics
- Asset Management - Vehicles, hydrants, stations, and equipment tracking
- Frontend: Next.js 15, React 19, TypeScript
- Styling: Tailwind CSS, Radix UI components
- Database: PostgreSQL with Prisma ORM
- Maps: Leaflet with React-Leaflet
- Authentication: NextAuth.js
- Real-time: Socket.io
- Charts: Recharts
- Forms: React Hook Form with Zod validation
- Node.js 18+
- PostgreSQL database
- Yarn package manager
-
Clone the repository
git clone <repository-url> cd fyre
-
Install dependencies
yarn install
-
Set up environment variables
cp .env.example .env
Update the following variables in
.env:DATABASE_URL="postgresql://username:password@localhost:5432/fire_department_db" NEXTAUTH_URL="http://localhost:3000" NEXTAUTH_SECRET="your-secret-key"
-
Set up the database
npx prisma migrate dev npx prisma generate
-
Start the development server
yarn dev
-
Open your browser Navigate to
http://localhost:3000
src/
βββ app/ # Next.js app router pages
β βββ page.tsx # Dashboard
β βββ map/ # GIS mapping
β βββ personnel/ # Personnel management
β βββ incidents/ # Incident management
β βββ reports/ # Analytics and reporting
β βββ notifications/ # Notification center
β βββ admin/ # Admin panel
β βββ assets/ # Asset management
βββ components/ # Reusable UI components
β βββ ui/ # Base UI components
β βββ layout/ # Layout components
β βββ map/ # Map-specific components
βββ lib/ # Utility functions and configurations
βββ prisma/ # Database schema and migrations
The platform uses a comprehensive PostgreSQL schema with the following main entities:
- Users - Authentication and user management
- Personnel - Fire department staff information
- Stations - Fire stations and facilities
- Vehicles - Apparatus and vehicles tracking
- Hydrants - Water sources and hydrant management
- Incidents - Emergency incidents and responses
- Assignments - Personnel and vehicle assignments
- Evidence - Photos, documents, and incident evidence
- Notifications - System notifications and alerts
- Full operational control on desktop
- Create, assign, and close incidents
- Manage assets and personnel
- Real-time monitoring and dispatch
- Mobile-optimized interface
- View assigned incidents
- Update status and location
- Upload photos and notes
- Receive dispatch notifications
- System configuration
- User and role management
- Data management and backups
- Security settings
- Interactive Maps - Real-time vehicle and personnel tracking
- Layer Management - Toggle visibility of different asset types
- Proximity Tools - Find nearest assets to incidents
- Routing - Turn-by-turn navigation to scenes
- Coverage Analysis - Station coverage and response areas
- Real-time KPIs - Active incidents, response times, personnel status
- Performance Metrics - Station and personnel performance tracking
- Trend Analysis - Monthly and yearly incident trends
- Export Capabilities - PDF and Excel report generation
- Custom Reports - Configurable reporting periods and filters
- Real-time Alerts - Instant dispatch and update notifications
- Multiple Channels - In-app, email, and SMS notifications
- Priority Levels - Critical, high, medium, and low priority alerts
- Customizable Settings - User-configurable notification preferences
- Responsive Design - Optimized for all screen sizes
- Mobile Navigation - Touch-friendly interface
- Offline Capabilities - Basic functionality without internet
- Progressive Web App - Installable on mobile devices
yarn dev # Start development server
yarn build # Build for production
yarn start # Start production server
yarn lint # Run ESLint
yarn type-check # Run TypeScript checksnpx prisma studio # Open Prisma Studio
npx prisma migrate dev # Run database migrations
npx prisma generate # Generate Prisma client
npx prisma db seed # Seed database with sample dataThe platform is designed for deployment on modern cloud platforms:
- Database Setup - Configure PostgreSQL database
- Environment Variables - Set production environment variables
- Build - Run
yarn buildto create production build - Deploy - Deploy to your preferred platform (Vercel, AWS, etc.)
This project is licensed under the MIT License - see the LICENSE file for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
For support and questions, please contact the development team or create an issue in the repository.
Fire Department Resource Management Platform - Streamlining emergency response operations through technology.