A small service demonstrating moving data from frontend to backend and vice-versa. Built from scratch (except frontend via vue-cli) with Python 3, fastapi+uvicorn+uvloop, SQLAlchemy, VueJS, Bootstrap and Postgres.
Find details about technical decisions in DECISIONS.md.
docker-compose up
, ormake run
then open localhost:8000 in the browser once the service has been created.- API docs are at
localhost:8000/docs
- Enter a waypoint as a comma separated string and click save
- See it pop up in the table below!
- python >=3.8
- docker-compose >= 1.27.0 (needs compose specification)
- node >= 10.19
- vue-cli https://cli.vuejs.org/
- poetry https://python-poetry.org/
- make https://www.gnu.org/software/make/
- Entrypoint for mostly everything is the Makefile
make dev-setup
, given the requirements are fulfilled
poetry shell
to activate the projects virtual environmentmake dev
to bring up the development servers- backend and frontend have their own development servers. ports are shown via cli
make test
to run tests via pytestmake lint
to lint and autoformat backend and frontendmake load-test
for simple backend load-testing facilities provided by locust.
- Cleanup idosyncratic rest post for waypoint creation
- parse waypoint string on frontend
- make string parsing more robust
- Backend: Throw error instead of silencing invalid pagination size
- ? Use pagination package instead of hand-rolling
- Configure for GCP Cloud run
- fix dev env race condition