This project was highly inspired on tiangolo/full-stack-fastapi-postgresql.
This is a fully async FastAPI project.
The full stack of this project is composed by:
- FastAPI - A modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints.
- ARQ - Job queues and RPC in python with asyncio and redis.
- PostgreSQL - The World's Most Advanced Open Source Relational Database
- Redis - An open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker.
- Tilt - A multi-service dev environment for teams on Kubernetes.
For development purposes, we're going to use Tilt. Please install it, so we can continue.
After installing the above, you should be able to run the following:
minikube start
tilt up
The project generator is under development.
For now, you can play with the first user being admin@admin.com
/ password
.
I've seen a lot of projects and tutorials using FastAPI. Which is awesome, and it makes me happy!
Unfortunately, there were few that I could take as reference. 😅
The only one that I've used for that purpose for a long time was the mentioned "full-stack-fastapi-postgresql". But as the time passed, I started to have my own vision about how a FastAPI project should be organized, and which technologies should be used as recommendation.
- django-postgres-skaffold-k8s
- fastapi-microservice-patterns
- Running Flask on Kubernetes
- Add Asynchronous SQLAlchemy example
- Asynchronous I/O (asyncio) SQLALchemy documentation
- Full Stack FastAPI and PostgreSQL - Base Project Generator
- The inner working of ARQ
- How we set up a production CI workflow with GitHub actions
- Using GitHub to deploy kubernetes
This project is under the MIT license.