/fastapi-microservices

Fully Python async FastAPI project! 🚀

Primary LanguagePythonMIT LicenseMIT

FastAPI Microservices - WIP 👷

This project was highly inspired on tiangolo/full-stack-fastapi-postgresql.

About

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.

Installation

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 .

Why creating this project?

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.

References

License

This project is under the MIT license.