A project for me to try out fastapi+mysql by building a production ready boilerplate.
To run locally,
- spin up a virtualenv
virtualenv -p python3.7 venv
and.venv/bin/activate
orsource venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reload
TODO:
- Basic route structure for a FastAPI app w/ multiple routers
- sql-alchemy integration
- Add migrations
- Migrations need to have their config set from the global config
- Follow up for migrations: review developer workflow for migrations, refactor to make it more ergonomic if needed. The migrations step should be as simple as Go's gorm.Automigrate - define a model, let the service update the DB schema on startup
- Dockerfile for deployment
- Test coverage, figure out how to write integration tests for FastAPI routes
-
Travis or CircleCI integrationGithub Actions CI/CD pipeline - Metrics and observation
- Documentation on the fastapi boilerplate workflow