Created for the Houston Hackathon 2018. Check out our devpost submission.
This application scrapes the Houston Heatlh Department Pollen and Mold Page and saves it in a database. Whenever the database is updated, notifications will be sent if any allergens are above a user's configured threshold.
The dashboard displays the most current pollen levels and graphs the last 5 days of data. Users can choose which allergens they want to see, subscribe to notifications for them, and provide feedback on how they're feeling.
- Frontend built in Typescript with Angular (lives in
src/) - Notifications using Service Workers and Push Notifications
- Scraper written in Python 3 with
BeautifulSoupandrequests - Data is store in a MySQL database and accessed in Python with
PyMySQL - API serves data and stores user data with
Flask
- Install and start MySQL
- The easiest way to do this with local dev is run
./backend/start_mysql_docker.sh(requires docker)
- The easiest way to do this with local dev is run
- Install python dependencies with
pip3 install -r requirements.txt - Create the database tables with
python3 backend/db.py - Fill the database with the last five days of data with
python backend/scraper_populate.py - Install npm dependencies with
npm install - Build the frontend with
npm run build - Start the backend server in dev mode with
npm run backend - For automatic reload of the frontend and backend, run
npm run dev - The server will be online at
http://localhost:5000