FastAPI Full-Stack Boilerplate
Features
- All the goodness of modern, async FastAPI
- Seamless Jinja2 templating, just like Flask
- SQLAlchemy ORM and Alembic migrations (PostgreSQL)
- Flask-Admin plugged right in
- Pipenv for python dependency management
Explore the full docs here
Get Started
- Copy
.env.example
to.env
(or create your own) docker-compose up -d
to start the databasepipenv shell
FASTAPI_STATICDIGEST_RELOAD=1 uvicorn app.main:create_app --port=8080 --reload
Configuration
- Change the database configuration/credentials in
.env
anddocker-compose.yaml
- Set
DEBUG_ADMIN=1
to disable the authorization for the admin panel
Why?
The dependency-injection provided by FastAPI is such a huge improvement over any other python web framework. It's OpenAPI integration is excellent, and it's asgi
-first, unlike Flask or Django.
But Django is famous for its admin panel, and the ability to rapidly build server side applications. For this, we include Flask-Admin, and centralied Jinja2 templates as a dependency.