Fastapi Rocket Boilerplate

screenshot of Fastapi Rocket Boilerplate

FastAPI Rocket Boilerplate to build an API based in Python with its most modern technologies!

Overview

This document describes the features, installation process, and usage of a Python backend project. The project provides a set of common services for backend development, with infrastructure easily set up using Docker Compose and Google Cloud with Pulumi. The project emphasizes ease of use, fast performance, and asynchronous programming. It includes features such as an ORM, authentication using OAuth2, a custom admin dashboard, and reliable testing and deployment processes. Additionally, the project offers frontend-friendly features like auto-generation of SDK TypeScript client.

Features

  • Infrastructure: Common services for backend development served in local by Docker Compose and in Google Cloud by Pulumi.
  • Easy: All commands ready for use with a Makefile.
  • Fast: Utilizes Fastapi and async programming for fast performance.
  • Async: Uses Celery with RabbitMQ as the broker and Redis as the backend.
  • ORM: Features a custom sqlmodel ORM similar to Django ORM and mongoengine.
  • Authentication: Implements OAuth2 with access/refresh tokens.
  • Admin dashboard: Includes a custom admin dashboard similar to Django's.
  • Rock-Solid Reliability: Includes CI, pre-commit, integrity testing, and extensive unit test coverage.
  • Frontend friendly: Automatically generates an SDK TypeScript client.

Summary

This document introduces a Python backend project that provides common services for backend development. It includes features such as infrastructure setup using Docker Compose and Google Cloud, an easy-to-use system with ready-made commands, fast performance using Fastapi and async programming, and asynchronous tasks using Celery with RabbitMQ and Redis. The project also features a custom ORM, authentication using OAuth2, a custom admin dashboard, reliable testing and deployment processes, and a frontend-friendly SDK TypeScript client. The installation process involves cloning the repository, setting up a virtual environment, and installing the required packages with Poetry.

fullstack
Fullstack

A fullstack boilerplate provides a starter application that includes both frontend and backend. It should include database, auth, payments, user roles and other backend services to build a fully featured saas or webapps.

docker
Docker

A website that uses Docker for containerization to streamline development, testing, and deployment workflows. This includes features such as containerization of dependencies, automated builds and deployments, and container orchestration to ensure scalability and availability.