Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tmkontra/fastapi-fullstack-boilerplate
A full stack (monolith) boilerplate for FastAPI
https://github.com/tmkontra/fastapi-fullstack-boilerplate
fastapi monolith python
Last synced: 2 months ago
JSON representation
A full stack (monolith) boilerplate for FastAPI
- Host: GitHub
- URL: https://github.com/tmkontra/fastapi-fullstack-boilerplate
- Owner: tmkontra
- License: mit
- Created: 2021-06-23T04:48:44.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2022-07-20T16:47:18.000Z (over 2 years ago)
- Last Synced: 2024-04-10T06:09:58.995Z (10 months ago)
- Topics: fastapi, monolith, python
- Language: Python
- Homepage:
- Size: 86.9 KB
- Stars: 108
- Watchers: 3
- Forks: 7
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FastAPI Full-Stack Boilerplate
## Features
1. All the goodness of modern, async FastAPI
2. Seamless Jinja2 templating, just like Flask
3. SQLAlchemy ORM and Alembic migrations (PostgreSQL)
4. Flask-Admin plugged right in
5. Pipenv for python dependency managementExplore the [full docs here](./docs/index.md)
## Get Started
1. Copy `.env.example` to `.env` (or create your own)
2. `docker-compose up -d` to start the database
3. `pipenv shell`
4. `FASTAPI_STATICDIGEST_RELOAD=1 uvicorn app.main:create_app --port=8080 --reload`### Configuration
- Change the database configuration/credentials in `.env` and `docker-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.
## Built On
- FastAPI
- [fastapi-utils class-based-view](https://fastapi-utils.davidmontague.xyz/user-guide/class-based-views/)
- [cookiecutter-flask CRUD mixin](https://github.com/cookiecutter-flask/cookiecutter-flask)
- [Flask-Admin](https://flask-admin.readthedocs.io/en/latest/)