This project offers a well-structured template for developing full stack applications using FastAPI and Next.js, with directory-based cursor rules for clear organization.
- Backend: See the official template repository for backend implementation details.
- Web: The web interface is generated using V0.
- ⚡ FastAPI for the Python backend API.
- 🧰 SQLModel for the Python SQL database interactions (ORM).
- 🔍 Pydantic, used by FastAPI, for the data validation and settings management.
- 💾 PostgreSQL as the SQL database.
- 🚀 Next.js for the web frontend.
- 🎨 Shadcn UI for the UI component library, providing accessible, customizable, and modern React components styled with Tailwind CSS.
- 🔌 Orval for generating a fully-typed API client from OpenAPI specs, enabling seamless and type-safe communication between the frontend and backend.
- 🗂️ Zustand for simple, scalable, and fast state management in React, used to manage authentication and other global app state.
- 🐋 Docker Compose for development and production.
- 🔒 Secure password hashing by default.
- 🔑 JWT (JSON Web Token) authentication.
- 📫 Email based password recovery.
- ✅ Tests with Pytest.
- 📞 Traefik as a reverse proxy / load balancer.
- 🚢 Deployment instructions using Docker Compose, including how to set up a frontend Traefik proxy to handle automatic HTTPS certificates.
- 🏭 CI (continuous integration) and CD (continuous deployment) based on GitHub Actions.
- Clone the repository
- Run
uv syncin backend to init backend dependencies. - Run
pnpm installin web to init frontend dependencies. - Run
sh scripts/generate-client.shto generate API types and client code.