Deprecated! See the new repository
Zephyr is an interactive weather map aimed towards paraglider pilots in New Zealand, scraping real-time data from various stations across the country.
- Real-time data - average wind speed, gust, direction, and temperature.
- Webcams - live images from various cameras.
- Interactive map - easy to use with intuitive colours and icons.
- Charts and tables - a tidy representation of each station's data over time.
- Live grid view - easy to integrate with XCTrack for in-flight updates.
- Mobile-first design - scalable across different screen sizes.
- Help tab - provides a way for users to contact the developer.
- Admin-only area - for adding new weather stations and viewing errors.
- Error checker - scheduled function to identify issues with stations or the scraper.
- React
- Mapbox GL
- MUI
- Recharts
- Cloud Firestore
- Google Cloud Functions
- Firebase Authentication
git clone https://github.com/kyzh0/zephyr-firebase.git
Follow the instructions in client/.env.example
and functions/.env.example
to set up your own environment variables.
# go to directory
$ cd ./client
# install dependencies
$ npm install
# run the web app
$ npm run start
# go to directory
$ cd ./functions
# install dependencies
$ npm install
# run emulators
$ firebase emulators:start
# deploy functions
$ firebase deploy --only functions
Spotted a bug, or got a new feature in mind? Open a new issue, or even better, fork the repo and submit your own pull request! Any help on open issues is appreciated.
Thanks to Jonas Yang for providing the icons and logo design.