$ show fastapi/full-stack-fastapi-template
This repository is the official FastAPI full-stack template, providing a production-ready starter for full-stack web applications. It consists of a FastAPI backend (Python 3.14, SQLModel ORM, PostgreSQL, Alembic migrations) and a React frontend (TypeScript, Vite, TanStack Router/Query, Tailwind CSS, shadcn/ui). The template ships with complete authentication (JWT, password hashing with Argon2/Bcrypt, password recovery via email), user and item CRUD, role-based access control, and a responsive dashboard UI. Deployment is handled via Docker Compose with Traefik, and the project includes comprehensive CI/CD pipelines for testing (pytest, Playwright) and deployment (FastAPI Cloud or self-hosted). While it is a template, the code is structured for immediate extension and includes many reusable patterns such as generic CRUD utilities, email templates written in React Email, and auto-generated OpenAPI client code for the frontend. The repository is not a data research project; it is a pure application template with no data pipelines, notebooks, or ML components. It is actively maintained, with frequent commits and a strong community following.
The LLM identified 4 files worth highlighting for reuse:
Implements secure password hashing (Argon2/Bcrypt with upgrade capability), JWT token creation/verification, and constant-time credential comparison for login. The module is self-contained, uses pure dependencies, and can be extracted into any FastAPI or Python project requiring robust authentication without modification.
Provides reusable CRUD functions for User and Item models, including authentication logic with deliberate timing jitter to prevent user enumeration attacks. Demonstrates a clean pattern for separator of database operations from API routes, and is adaptable to other SQLModel entities with minimal changes.
A generic, reusable data table built on TanStack Table, supporting sorting, pagination, and row actions via render props. It abstracts away table state management and styling, making it a drop-in component for any dashboard or admin panel. Isolated from business logic and easily extracted into other React projects.
A small set of shared UI components (Button, Layout, Heading, etc.) for building transactional email templates with React Email. These components are framework-agnostic and portable, enabling consistent email design across projects without duplication.