A web app that allows a user to upload data and make sense of it, across an organization.
Demo: https://insight-ojvzqokjga-ew.a.run.app/dashboard
These instructions will get the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project to Google Cloud Platform.
Local development
- Docker
- Docker Compose
- A Google account for access to the Sheets API
- [Optional] MyPy for static type checking
Deployment
- Google Cloud SDK
Follow the instructions in the Sheets API Quickstart for Python to generate and save credentials for access to the Sheets API.
Make a copy of the .env.example
file and rename it to .env
. Update the GOOGLE_APPLICATION_CREDENTIALS
key with the name of your Google Sheets credential file, and provide a Postgres username and password.
To build and run the app, run
docker-compose up
at the project root. Check the output of the docker-compose command for the local URL at which you will find the running app, e.g. http://0.0.0.0:5000/
You can execute the test suite by running pytest
in the project root.
Assuming you have access to the Google Cloud Platform project where the app is hosted, you can run
gcloud builds submit
to deploy it to Google Cloud Run.
- Poll Google Sheets and sync data to Postgres. (At the moment, the app just reads data from Sheets at startup and retains it in memory.)
- Optimise UI for mobile devices.