Web front end to browse DPS appointment data.
Uses Plotly Dash and Algolia for improved search. Also provides CLI for fetching source data and autobooking appointments.
- Python 3.x
- An Algolia account
- A Mapbox account
- An AWS account
- A Sentry project
- httpie and jq for Makefile commands
- AWS CLI
- Heroku CLI
- Sentry CLI
- CircleCI CLI
Install Python packages:
$ python setup.py install
Set environment variables:
export MAPBOX_TOKEN=xxx
export ALGOLIA_API_KEY=xxx
export ALGOLIA_APP_ID=xxx
export S3_LOCATION=s3://bucket/path
export SENTRY_DSN=
export SENTRY_ORG=
export SENTRY_PROJECT=
export SENTRY_AUTH_TOKEN=
# pull data
$ ./bin/txdps pull --cache-file locations.csv
# upload to index
$ ./bin/txdps create_index --uri locations.csv
./bin/txdps run_web
Then open localhost:8050
$ pre-commit run -a
You break it, you fix it :)