Fastapi Starter

screenshot of Fastapi Starter
react

Fastapi Starter

A FastAPI based low code starter/boilerplate: SQLAlchemy 2.0 (async), Postgres, React-Admin, pytest and cypress

Overview:

FastAPI-Starter is a FastAPI based starter project that makes use of existing plugins and frameworks. It includes several key features such as user registration, authentication, a modern admin interface, automated testing, and more. The project follows best practices and incorporates technologies like React-Admin, Docker, and OpenAPI Generator.

Features:

  • Uses best practices: Follows the factory pattern and utilizes environment variables for configuration.
  • User registration, models, authentication: Provides functionality for user registration and authentication using FastAPI Users.
  • Modern admin interface: Includes a modern admin interface using React-Admin.
  • Github Action for building docker images and running automated tests: Integrates with Github Actions to automatically build docker images and run automated tests.
  • Dependabot config: Includes a Dependabot configuration to keep project dependencies up to date.
  • Create Typescript bindings for front-end: Automatically generates Typescript bindings for the front-end using OpenAPI-Generator, eliminating the need to manually write or update code when the backend changes.
  • Async-first codebase with SQLAlchemy 2.0: Implements an async-first codebase using SQLAlchemy 2.0 for database operations.
  • pytest with example tests included: Includes example tests using pytest.
  • Integration tests with Cypress: Includes integration tests using Cypress.
  • Docker images for frontend and backend: Provides Docker images for both the frontend and backend.
  • Pre-commit hooks with code standards: Includes pre-commit hooks with Black, autoflake, isort, flake8, prettier, and eslint for ensuring consistent code standards.
react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

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.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.