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, along with automated processes to keep the OpenAPI schema and client updated, ensuring a smooth and synchronized development workflow.

  • Next.js: Fast and SEO-friendly frontend framework.
  • FastAPI: High-performance Python backend.
  • SQLAlchemy: Powerful SQL toolkit and ORM for Python.
  • 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.
  • @hey-api/openapi-ts: Fully typed client generation from the OpenAPI schema.
  • fastapi-mail: Efficient email handling for FastAPI applications.
  • uv: An extremely fast Python package and project manager.
  • Pytest: Powerful testing framework for Python.
  • Code quality tools:
  • Ruff: Fast Python linter.
  • ESLint: JavaScript/TypeScript code quality.
  • Hot reload watchers:
  • Backend: Watchdog for file change monitoring.
  • 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, increasing productivity and reliability.