- Introduction
- Repository Structure
- Key Components
- Data Sources
- Customization
- Setup and Deployment
- Using as a Template
This repository contains a comprehensive Hurricane Warning Dashboard, designed to provide real-time information and resources during hurricane emergencies. Built with Next.js and utilizing various data sources, this dashboard offers a centralized platform for emergency information, news updates, and local resource mapping.
This project serves as a powerful template that can be quickly adapted and deployed, enabling the creation of an all-in-one emergency dashboard capable of serving millions of people within minutes of a crisis.
/
βββ website/
β βββ app/
β β βββ components/
β β βββ fonts/
β β βββ globals.css
β β βββ layout.tsx
β β βββ page.tsx
β βββ Data/
β β βββ Site/
β β βββ evac_alerts.py
β β βββ evac_alerts.txt
β β βββ food_pantries.json
β β βββ gas_stations_hillsborough.json
β β βββ hillsborough_timeline.json
β β βββ hospitals_hillsborough.json
β β βββ hotels_hillsborough.json
β β βββ news.py
β β βββ power_outages.json
β β βββ shelters_with_google_maps.json
β β βββ summaries.json
β β βββ tampa.json
β βββ public/
β β βββ [various image and asset files]
β βββ .gitignore
β βββ next.config.mjs
β βββ package.json
β βββ postcss.config.js
β βββ README.md
β βββ tailwind.config.ts
β βββ tsconfig.json
βββ README.md
-
Main Dashboard (page.tsx)
- Location:
website/app/page.tsx - Description: The core component rendering the entire dashboard interface.
- Key sections:
- Hurricane category and wind speed indicators
- Emergency information box
- News summary and latest updates
- Hurricane tracking maps
- Power outages information
- Available services (hotels, gas stations, shelters, etc.)
- Resources and emergency preparedness checklist
- Location:
-
Data Fetching and Processing
- Location:
website/Data/ - Key files:
evac_alerts.py: Fetches evacuation alerts from FEMA APInews.py: Retrieves and processes news articlesSite/PowerOutages.py: Scrapes power outage dataSite/FindHospitals.py: Gathers hospital information
- Location:
-
Styling
- Location:
website/app/globals.css - Description: Contains global styles and custom animations
- Location:
-
Layout and Metadata
- Location:
website/app/layout.tsx - Description: Defines the overall layout and metadata for the application
- Location:
The dashboard utilizes various JSON files to populate its content:
gas_stations_hillsborough.json: Gas station locationshotels_hillsborough.json: Hotel informationshelters_with_google_maps.json: Shelter locations with Google Maps linksfood_pantries.json: Food pantry informationhospitals_hillsborough.json: Hospital datapower_outages.json: Current power outage statisticstampa.jsonandsummaries.json: News articles and summaries
These files are located in the website/Data/ directory and are loaded dynamically by the application.
To customize the dashboard for a different location or disaster type:
- Update the JSON files in the
website/Data/directory with relevant information. - Modify the
page.tsxfile to reflect the new disaster type and location-specific details. - Adjust the styling in
globals.cssif needed. - Update images and assets in the
public/directory.
- Clone the repository
- Navigate to the
website/directory - Install dependencies:
npm install - Run the development server:
npm run dev - Build for production:
npm run build - Deploy the
out/directory to your preferred hosting platform
This repository can be easily forked and customized for any disaster or emergency situation:
- Fork the repository to your GitHub account.
- Clone your forked repository locally.
- Update the JSON files in
website/Data/with information relevant to your specific emergency or location. - Modify the
page.tsxfile to reflect the new disaster type and location-specific details. Key areas to update include:- Title and description (lines 58-61)
- Emergency information (lines 14-32)
- Hurricane tracking section (if applicable, lines 207-242)
- Available services section (lines 334-503)
- Update images in the
public/directory with relevant maps and visuals. - Customize the styling in
globals.cssif desired. - Update the
README.mdfile with information about your specific implementation. - Deploy your customized dashboard following the setup instructions above.
By following these steps, you can have a fully functional emergency dashboard up and running in minutes, tailored to your specific needs and location.
This template provides a solid foundation for creating emergency information hubs quickly and efficiently, allowing for rapid deployment during critical situations.
