Inspiration
We were concerned with the impact of the horrific wildfires raging across Los Angeles, and wanted to create a solution for firefighters to quickly and effectively combat the fires, while providing methods for civilians to stay safe.
What it does
FireWatch provides real-time wildfire tracking, allowing for both civilians and authorities to identify areas with potentially dangerous wildfires.
With a dynamic map, we also provide routes so that firefighters in the air can find optimal travel paths to fires, as well as use water sources to their benefit.
Furthermore, users can submit incident reports to notify the community of updates, situations, new fires, etc. This is stored in a database, and authorities that are logged in can view them.
How we built it
We used various tools, including the Leaflet API for the interactive map, SimpleMaps Cities Database for a list of cities to track across the world, MongoDB, React, Vite, Express, Mantite React Frontend Library, and the XWeather API for water and fire data.
Challenges we ran into
We ran into multiple challenges, including integrating Auth0 and importing external fonts. We spent at least 10 man-hours configuring Auth0, for the root issue to be not including localStorage support! We were relieved when we were able to log in and out without issue. We also spent a lot of time trying to import external fonts, but due to our time constraints, we focused on setting up the code itself. We also took quite a bit of time at the beginning planning out our design, as well as setting up the map from Leaflet. Working on both frontend and backend, we were simultaneously challenged but able to learn.
Accomplishments that we're proud of
We're proud of making an easy-to-use map and incident reporting system, accessible for anyone to use. Additionally, we're proud of being able to execute this idea and complete all of our goals during the competition, as well as being able to learn many different concepts and frameworks.
- Nikhil: Making a responsive incident reporting form and database
- Julian: Configuring leaflet to work seamlessly with the backend
- Kasra: Creating a multi-paged and user friendly front-end
- Eduardo: I'm glad I got the authentication to work with auth0, as I'd never used it before and it was an unknown platform. It took some time to get it configured and to actually understand how to design the UI based on the interface.
What we learned
We learned a lot, including the use of Auth0, Leaflet, advanced full-stack development, MongoDB for database control, and many more! (Additional explanations on the side from each of us!)
What's next for Firewatch
- Specific roles: Adding firefighter, administrator, and civilian roles based on auth0 to provide personalized information, better security with oAuth and API access
- Expanding the map internationally (Currently limited to US & some regions of Canada)
- Integration with local governments to adopt this new technology
- More advanced traversal algorithms for efficient pathfinding
Built With
- auth0
- express.js
- leaflet.js
- mantine
- mongodb
- node.js
- react
- vite
- xweather
Log in or sign up for Devpost to join the conversation.