Skip to content

chichi13/FastAPI-Skeleton

Repository files navigation

FastAPI Skeleton App

img.png

Features

  • Async API
  • Connection to PostgreSQL database
  • Basic mixins for future database model (PrimaryKeyMixin/TimestampsMixin)
  • Alembic ready with good naming convention
  • Health endpoint to check if database is healthy
  • Sentry integration is available by enabling SENTRY_ENABLED in .env file (SENTRY_DSN is required, SENTRY_ENVIRONMENT is optional)

Installation

Usage

To add a module (admin for example) :

  • Add admin directory in app/modules/admin
  • Create your app/modules/admin/routes.py
  • Add this route to app/routes.py :
api_router.include_router(admin_router, tags=["Admin"])

To add a model, do this :

  • Create a models.py in your modules :
from sqlalchemy import Boolean, Column, String

from app.db.base import Base
from app.db.mixins import BaseFeaturesMixin

class User(Base, BaseFeaturesMixin):
    __tablename__ = "adm_user"

    username = Column(String, unique=True, index=True, nullable=False)
    email = Column(String, unique=True, index=True, nullable=False)
    password = Column(String, nullable=False)
    is_active = Column(Boolean, default=False)

About

FastAPI skeleton to start a FastAPI project faster

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published