Emergency Shelter Mapping and Status Tracking System
A web-based application designed to help people locate and track the status of emergency shelters during natural disasters and crisis situations. Built for the EMP Hackathon "CrisisHack" (September 6-7, 2025).
- Real-time Shelter Locations: Displays FEMA emergency shelters across the United States
- GPS Integration: Find your current location and locate the nearest shelter
- Visual Status Indicators:
- π΅ Blue markers: Available shelters
- π΄ Red markers: Nearest shelter to your location
- π‘ Yellow markers: Your current location
- Interactive Popups: Click on any shelter marker to view detailed information
- Real-time Status Updates: Update shelter status with various conditions:
- Open, Full, Closed
- Flooded, Destroyed, Damaged
- Under Maintenance, Evacuation in Progress
- Power Outage, Medical Emergency
- Status Tracking Table: View all shelters and their current status in an organized table
- User-friendly Interface: Simple dropdown selections for easy status updates
- Comprehensive Disaster Guide: Built-in information for various natural disasters:
- Earthquakes, Tsunamis, Tornadoes
- Hurricanes, Wildfires, Floods
- Blizzards, House Fires, Chemical Spills
- Safety Instructions: Step-by-step guidance for each disaster type
- Python 3.7 or higher
- Modern web browser with JavaScript enabled
- Internet connection (for initial data fetch)
-
Clone the repository
git clone <repository-url> cd ResQMap
-
Install Python dependencies
pip install -r requirements.txt
-
Start the server
python server.py
-
Open your browser Navigate to
http://localhost:5000
The application is designed to work offline after the initial data load:
- All map tiles and shelter data are cached locally
- Leaflet library files are included locally
- Last known location is stored in browser localStorage
- HTML5: Semantic structure with responsive design
- CSS3: Modern styling with dropdown animations and mobile-friendly layout
- JavaScript: Interactive map functionality and status management
- Leaflet.js: Open-source mapping library for interactive maps
- Flask: Lightweight Python web framework
- CORS: Cross-origin resource sharing enabled
- FEMA API Integration: Real-time shelter data from FEMA's OpenShelters service
- FEMA OpenShelters API: Official emergency shelter data
- OpenStreetMap: Map tiles and geographic data
- Local GeoJSON: Backup shelter data for offline functionality
ResQMap/
βββ index.html # Main application page
βββ map.js # Interactive map and status logic
βββ style.css # Application styling
βββ server.py # Flask backend server
βββ requirements.txt # Python dependencies
βββ Open_Shelters.geojson # Local shelter data backup
βββ leaflet.css # Leaflet map styling
βββ leaflet.js # Leaflet map library
βββ icons/ # Custom map markers
β βββ blue-dot.png # Available shelter marker
β βββ red-dot.png # Nearest shelter marker
β βββ yellow-dot.png # User location marker
βββ README.md # This file
- Open the Map: The application loads with shelters marked as blue dots
- Find Nearest Shelter: Click "Find Nearest Shelter" to use GPS and locate the closest shelter
- View Details: Click any shelter marker to see detailed information
- Select Shelter: Choose a shelter from the dropdown menu
- Select Status: Choose the appropriate status from the status dropdown
- Update: Click "Update Status" to apply changes
- View Changes: See updated status in the table and on map popups
- Map Usage: Instructions for navigating the interactive map
- Natural Disasters: Comprehensive safety guides for various emergency situations
- Server Startup: Flask server fetches latest shelter data from FEMA API
- Data Caching: Shelter data is cached locally in GeoJSON format
- Client Loading: Browser loads cached data and displays on map
- Real-time Updates: Status changes are reflected immediately in the UI
- Chrome 60+
- Firefox 55+
- Safari 12+
- Edge 79+
- Offline Support: Works without internet after initial load
- Responsive Design: Optimized for desktop and mobile devices
- Efficient Rendering: Only renders visible map markers
- Local Storage: Caches user location and preferences
This project was developed for the EMP Hackathon "CrisisHack". Contributions are welcome for:
- Additional disaster preparedness information
- Enhanced mapping features
- Mobile app development
- Accessibility improvements
- Performance optimizations
This project is licensed under the MIT License - see the LICENSE file for details.
Important: This application is for informational purposes only. In case of emergency:
- Call 911 for immediate assistance
- Follow official evacuation orders
- Monitor local emergency services and weather alerts
- Use official FEMA resources: fema.gov
For technical issues or questions about this application, please refer to the project documentation or contact the development team.
Built with β€οΈ for emergency preparedness and community safety