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
BeautifulSoup
andrequests
- 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