A comprehensive real-time police deployment tracking system with GPS monitoring, automated alerts, and AI-powered performance analysis.
- Event Management: Create and manage police deployment events
- Officer Assignment: Upload officer lists via Excel files
- Real-time Monitoring: Live GPS tracking with geofence alerts
- Performance Reports: AI-generated performance summaries
- Holiday Management: Approve/reject officer holiday requests
- SMS/Call Notifications: Automated alerts via Twilio
- Duty Assignment: View assigned events and details
- GPS Check-in: Location-based check-in with geofence validation
- Real-time Tracking: Continuous location monitoring during duty
- Holiday Requests: Submit requests with proof documents
- Emergency Alerts: One-tap emergency assistance button
- Frontend: EJS, Bootstrap 5, JavaScript
- Backend: Node.js, Express.js
- Database: MongoDB with Mongoose ODM
- Authentication: Supabase (role-based)
- Real-time: Socket.IO for live updates
- Notifications: Twilio API (SMS + Voice calls)
- AI Services: Performance analysis and recommendations
- PWA: Service Worker for offline capabilities
- Node.js 16+
- MongoDB database
- Supabase account
- Twilio account (for notifications)
-
Install Dependencies
npm install
-
Environment Setup
cp .env.example .env # Configure your environment variables -
Database Setup
npm run seed
-
Start Development Server
npm run dev
-
Access the Application
- Open http://localhost:3000
- Use the signup form to create accounts
Create a .env file with:
# MongoDB
MONGODB_URI=mongodb://localhost:27017/police_tracking
# Supabase
SUPABASE_URL=your_supabase_url
SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
# Twilio
TWILIO_ACCOUNT_SID=your_twilio_sid
TWILIO_AUTH_TOKEN=your_twilio_token
TWILIO_PHONE_NUMBER=your_twilio_phone
# Application
PORT=3000
CLIENT_URL=http://localhost:3000
JWT_SECRET=your_jwt_secret
NODE_ENV=development- Create a new Supabase project
- Enable email authentication
- Add the Supabase URL and keys to your .env file
- Configure RLS policies if needed
- Create a Twilio account
- Get a phone number for SMS/calls
- Add credentials to .env file
The app can be installed as a Progressive Web App:
- Open the app in a supported browser
- Look for the "Install" prompt
- Add to home screen for native app experience
├── controllers/ # Business logic controllers
├── models/ # MongoDB schemas
├── routes/ # Express route handlers
├── services/ # External service integrations
├── middleware/ # Authentication & validation
├── views/ # EJS templates
├── public/ # Static assets (CSS, JS, images)
├── socket/ # Socket.IO event handlers
├── utils/ # Utility functions and seeders
└── uploads/ # File uploads directory
- Role-based Authentication: Supervisor vs Officer access control
- JWT Tokens: Secure session management with Supabase
- Rate Limiting: Protection against API abuse
- Input Validation: Sanitization of all user inputs
- CORS Protection: Configured for production security
- Helmet.js: Security headers and CSP
- Real-time GPS Tracking: 30-second interval updates
- Geofence Monitoring: Automated zone violation detection
- Performance Metrics: Attendance, response time, idle detection
- AI-powered Reports: Natural language performance summaries
- Alert System: Multi-channel notifications (SMS, calls, push)
npm run devnpm startdocker build -t e-bandobast .
docker run -p 3000:3000 e-bandobastThe system includes comprehensive monitoring:
- Officer location tracking every 30 seconds
- Idle detection (>10 minutes without movement)
- Geofence violations (>5 minutes outside zone)
- Battery level monitoring
- Emergency alert system
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For technical support or questions:
- Create an issue on GitHub
- Contact the development team
- Check the documentation in the
/docsfolder
- Advanced map integration (Google Maps/MapBox)
- Mobile app development (React Native)
- Advanced AI analytics
- Multi-language support
- Integration with police database systems
- Facial recognition for check-ins
- Vehicle tracking integration