# Full Stack FastAPI Template [![Test Docker Compose](../../actions/workflows/test-docker-compose.yml/badge.svg)](../../actions/workflows/test-docker-compose.yml) [![Test Backend](../../actions/workflows/test-backend.yml/badge.svg)](../../actions/workflows/test-backend.yml) ## Technology Stack and Features - โšก [**FastAPI**](https://fastapi.tiangolo.com) for the Python backend API. - ๐Ÿงฐ [SQLModel](https://sqlmodel.tiangolo.com) for the Python SQL database interactions (ORM). - ๐Ÿ” [Pydantic](https://docs.pydantic.dev), used by FastAPI, for the data validation and settings management. - ๐Ÿ’พ [PostgreSQL](https://www.postgresql.org) as the SQL database. - ๐Ÿš€ [React](https://react.dev) for the frontend. - ๐Ÿงฉ Built into the backend application and served by FastAPI on the same domain as the API. - ๐Ÿ’ƒ Using TypeScript, hooks, [Vite](https://vitejs.dev), and other parts of a modern frontend stack. - ๐ŸŽจ [Tailwind CSS](https://tailwindcss.com) and [shadcn/ui](https://ui.shadcn.com) for the frontend components. - ๐Ÿค– An automatically generated frontend client. - ๐Ÿงช [Playwright](https://playwright.dev) for end-to-end testing. - ๐Ÿฆ‡ Dark mode support. - โ˜๏ธ [FastAPI Cloud](https://fastapicloud.com) for deployment. - ๐Ÿ‹ [Docker Compose](https://www.docker.com) for local services and self-hosted deployment. - ๐Ÿ“ž [Traefik](https://traefik.io) as a reverse proxy with automatic HTTPS. - ๐Ÿ”’ Secure password hashing by default. - ๐Ÿ”‘ JWT (JSON Web Token) authentication. - ๐Ÿ“ซ Email-based password recovery. - ๐Ÿ“ฌ [Mailpit](https://mailpit.axllent.org) for local email testing during development. - โœ… Tests with [Pytest](https://pytest.org). - ๐Ÿญ CI (continuous integration) and CD (continuous deployment) based on GitHub Actions. ### Dashboard Login ![Dashboard login screenshot](img/login.png) ### Dashboard - Admin ![Admin dashboard screenshot](img/dashboard.png) ### Dashboard - Items ![Items dashboard screenshot](img/dashboard-items.png) ### Dashboard - Dark Mode ![Dark mode dashboard screenshot](img/dashboard-dark.png) ### Interactive API Documentation ![API docs](img/docs.png) ## How to Use It Click the **Use this template** button at the top of this page to create a new repository. ## Backend Development Backend docs: [backend/README.md](./backend/README.md). ## Frontend Development Frontend docs: [frontend/README.md](./frontend/README.md). ## Deployment FastAPI Cloud deployment: [deployment.md](./deployment.md). Self-hosted deployment with Docker Compose: [deployment-docker-compose.md](./deployment-docker-compose.md). ## Development General development docs: [development.md](./development.md). This includes the local FastAPI and Vite workflow, Docker Compose services, `.env` configuration, and more. ## Release Notes Check the file [release-notes.md](./release-notes.md). ## License The Full Stack FastAPI Template is licensed under the terms of the MIT license.