GitHub

Full Stack FastAPI Template Project Description

What is the project about?

This project is a full-stack template for building web applications using FastAPI for the backend API and React for the frontend. It provides a complete and ready-to-use foundation for developers, including pre-configured features like authentication, database integration, and deployment setup.

What problem does it solve?

It solves the problem of setting up a new full-stack project from scratch. It eliminates the need to manually configure various components, libraries, and tools, saving developers significant time and effort. It provides a best-practice structure and workflow.

What are the features of the project?

  • Full-Stack Integration: Seamlessly combines a FastAPI backend and a React frontend.
  • Backend (FastAPI):
    • SQL Database interactions using SQLModel (ORM).
    • Data validation and settings management with Pydantic.
    • PostgreSQL database integration.
  • Frontend (React):
    • Modern stack: TypeScript, hooks, Vite.
    • Chakra UI component library.
    • Automatically generated frontend client.
    • Playwright for End-to-End testing.
    • Dark mode support.
  • Development and Deployment:
    • Docker Compose for development and production.
    • Secure password hashing.
    • JWT authentication.
    • Email-based password recovery.
    • Testing with Pytest.
    • Traefik reverse proxy/load balancer.
    • Deployment instructions with Docker Compose and automatic HTTPS certificates.
    • CI/CD with GitHub Actions.

What are the technologies used in the project?

  • Backend: FastAPI, SQLModel, Pydantic, PostgreSQL, Pytest
  • Frontend: React, TypeScript, Chakra UI, Playwright, Vite
  • Infrastructure: Docker Compose, Traefik, GitHub Actions

What are the benefits of the project?

  • Rapid Development: Accelerates project setup and development.
  • Best Practices: Follows industry best practices for structure and security.
  • Complete Solution: Provides a full set of features out-of-the-box.
  • Easy Deployment: Simplifies deployment with Docker Compose.
  • Maintainability: Well-structured and documented code.
  • Extensible: Easily customizable and extendable to fit specific project needs.
  • Updatable: Can pull updates from the template repository.

What are the use cases of the project?

  • Building web applications with a Python backend and a React frontend.
  • Creating APIs with FastAPI.
  • Developing applications that require user authentication and authorization.
  • Projects that need a relational database (PostgreSQL).
  • Rapid prototyping of full-stack applications.
  • Learning resource for full-stack development with FastAPI and React.
full-stack-fastapi-template screenshot