This project hosts a simple frontend and backend to surface data from the following spreadsheet.
- Install a recent version of Node
- Add a Google API key with access to GSheets to your env variables:
export GOOGLE_SHEETS_API_KEY=<your_key>
npm install
npm run build
npm start
- Navigate to
localhost:8081
in your web browser
- Create an
.env
file withGOOGLE_SHEETS_API_KEY=<your_key>
in the root directory of this project. - Run
docker compose up
- Navigate to
localhost:8081
in your web browser
- Frontend
-
- Improve error handling to give users an alert or message with details
-
- Add more advanced filtering to front-end with multi-selects and add support to carrier API
-
- Split out App component a little more
- Backend
-
- Handle larger data by writing files to disk and chunking
-
- Cache normalized carrier data in a SQLite DB and query from it rather than scraping all of GSheets on every request and filtering in memory
-
- Add pagination to API endpoint
-
- Add unit/integration/E2E tests
-
- Add linting