Skip to content

Full Stack FastAPI Template

A starter project combining a FastAPI backend, React frontend, and PostgreSQL database, with login and Docker

Stars
46.1k
Forks
9.2k
Licence
MIT
Language
TypeScript
Last update
4 days ago
Type
Framework

What it is

This is a template for building a web application with a Python backend (FastAPI, SQLModel, PostgreSQL) and a TypeScript frontend (React, Vite, Tailwind CSS, shadcn/ui). It includes features such as JWT login, email-based password recovery, an admin dashboard, and Docker Compose setup, so you start from a working app rather than an empty project. You create your own copy with the Use this template button on GitHub.

  • Create a new web app with user accounts and an admin dashboard
  • Add your own data models and API endpoints to the FastAPI backend
  • Test password recovery emails locally using Mailpit
  • Deploy the app to FastAPI Cloud or to your own server with Docker Compose

Great for

  • Developers starting a new full-stack web app with a Python backend and React frontend
  • Teams that want JWT login, an admin area, and Docker setup already wired up
  • Developers who already know FastAPI and want a structured starting point
  • Students learning how a FastAPI and React project fits together

Not ideal for

  • People who want a no-code tool or a finished product rather than code to customize (it is a starting codebase)
  • Projects that do not use Python or TypeScript, since both halves of the stack are required
  • Anyone unfamiliar with Docker, PostgreSQL, and Node.js who wants to avoid learning them, since the setup assumes some familiarity
Step-by-step guide: how to use Full Stack FastAPI TemplateInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Clone and build from source

    You'll need: Docker

    Create your own copy on GitHub

    git clone https://github.com/fastapi/full-stack-fastapi-template
  2. 2

    Run it

    • Create your own repository from the template or clone it locally
    • Follow the local development instructions in development.md
    • Start the services with Docker Compose as described in the linked docs
    • Open the dashboard and API documentation in your browser
  3. 3

    Get the most out of it

    • Use the interactive API documentation to explore and test endpoints
    • Use Mailpit during development to view password recovery emails locally
    • Configure settings through the .env file as described in development.md
    • Follow deployment.md for FastAPI Cloud or deployment-docker-compose.md for self-hosting

Downloads

Strengths

  • Covers many common parts of a web app (login, database, frontend, email, tests) in one repository
  • Uses widely adopted tools with official documentation
  • Released under the permissive MIT license

Trade-offs

  • Requires working knowledge of several technologies (FastAPI, React, Docker, PostgreSQL) to adapt it
  • The README is brief, so detailed setup and configuration live in linked documents that were not reviewed here

How it compares

ProjectStarsTypeLevelUpdatedBest for
full-stack-fastapi-template (this)46.1kFrameworkintermediate4 days agoDevelopers starting a new full-stack web app with a Python backend and React frontend
quivr39.6kFrameworkadvanced4 days agoDevelopers building a search or monitoring pipeline over a stream of documents
fastapi_mcp12kLibraryintermediate12 months agoPython developers who already have a FastAPI app and want AI assistants to use it
gogs47.9kAppintermediate5 days agoSmall teams that want a private Git server on their own hardware
colima31.5kDev toolbeginner23 days agoMac developers who want Docker containers without Docker Desktop
dockge24.7kAppbeginner14 days agoPeople who run Docker Compose stacks on a home server or small Linux machine

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.