This project is a real-time, interactive crisis reporting system where users can:
- View nearby crisis incidents (fires, medical emergencies, infrastructure issues, etc.) plotted on a map πΊοΈ
- See live markers based on urgency level (Critical, High, Medium, Low)
- Track their own location and recent reports
- Search and filter crisis reports
- Zoom and center the map easily with custom controls
Built using React.js, React-Leaflet, Lucide Icons, and TailwindCSS.
- π Map view with custom dynamic markers (color-coded by urgency)
- π‘ User's current location shown on the map
- π Search and filter through crisis reports
- ποΈ Zoom in, zoom out, locate me buttons
- ποΈ Categorized icons (Fire, Medical, Police, Infrastructure, Natural Disaster, etc.)
- β‘ Animated markers and loading optimization to prevent crashes
- π± Responsive design ready for mobile and desktop
- React.js β Frontend Framework
- React-Leaflet β For interactive map and markers
- Leaflet.js β Map engine
- TailwindCSS β For clean styling
- Lucide-React β Beautiful SVG icons
- Framer Motion β Animations for smooth UI interactions
- Vite (optional) β For fast development server
Clone this repo and install dependencies:
git clone https://github.com/PrashantKhatiwada/pulsePoint.git
cd pulsePoint
npm installStart the development server:
npm run devMake sure you have Node.js and npm installed.
src/
βββ components/
β βββ MapView.jsx # Map with markers and user location
β βββ ReportsList.jsx # Sidebar list of crisis reports
β βββ ui/ # Reusable UI components (Button, Badge, Card, etc.)
βββ api/ # (Optional) Fetch reports from backend
βββ App.jsx # Main app
βββ index.jsx # App entry point
- Map loads centered either at the user's geolocation or a default position (Caldwell, NJ).
- Crisis reports are dynamically fetched or submitted and shown as markers.
- Each marker shows detailed information in a popup.
- The user can locate themselves, zoom the map, and interact with the reports list.
| Map View | Report Popup |
|---|---|
(Replace placeholder links with your real screenshots!)
- Add report submission form (with location picker)
- Real-time WebSocket updates for live crisis monitoring
- Cluster markers when zoomed out
- Auto-fit map bounds to all visible markers
- Add user authentication and roles (admin, volunteer, public)
This project is licensed under the MIT License.
Feel free to use and modify it for your own projects!