Technology Selection

This template streamlines building APIs with FastAPI and dynamic frontends with Next.js. It integrates the backend and frontend using @hey-api/openapi-ts to generate a type-safe client, with automated watchers to keep the OpenAPI schema and client updated, ensuring a smooth and synchronized development workflow.

  • Next.js: Fast, SEO-friendly frontend framework
  • FastAPI: High-performance Python backend
  • SQLAlchemy: Powerful Python SQL toolkit and ORM
  • PostgreSQL: Advanced open-source relational database
  • Pydantic: Data validation and settings management using Python type annotations
  • Zod + TypeScript: End-to-end type safety and schema validation
  • fastapi-users: Complete authentication system with:
    • Secure password hashing by default
    • JWT (JSON Web Token) authentication
    • Email-based password recovery
  • Shadcn/ui: Beautiful and customizable React components
  • OpenAPI-fetch: Fully typed client generation from OpenAPI schema
  • fastapi-mail: Efficient email handling for FastAPI applications
  • uv: An extremely fast Python package and project manager
  • Pytest: Powerful Python testing framework
  • Code Quality Tools:
    • Ruff: Fast Python linter
    • ESLint: JavaScript/TypeScript code quality
  • Hot reload watchers:
    • Backend: Watchdog for monitoring file changes
    • Frontend: Chokidar for live updates
  • Docker and Docker Compose: Consistent environments for development and production
  • MailHog: Email server for development
  • Pre-commit hooks: Enforce code quality with automated checks
  • OpenAPI JSON schema: Centralized API documentation and client generation

With this setup, you'll save time and maintain a seamless connection between your backend and frontend, boosting productivity and reliability.