Quick Start
Get up and running with fastapi-mongo-base in minutes!
Minimal Example
# app/main.py
from fastapi_mongo_base.core import config, app_factory
from fastapi_mongo_base.models import BaseEntity
from fastapi_mongo_base.routes import AbstractBaseRouter
from fastapi_mongo_base.schemas import BaseEntitySchema
class ItemSchema(BaseEntity):
name: str
description: str | None = None
class Item(BaseEntity):
name: str
description: str | None = None
class ItemRouter(AbstractBaseRouter):
model = Item
schema = ItemSchema
@dataclasses.dataclass
class Settings(config.Settings):
project_name: str = "sample fastapi mongo base project"
base_dir: Path = Path(__file__).parent
base_path: str = ""
mongo_uri: str = "mongodb://localhost:27017"
app = app_factory.create_app(settings=Settings())
app.include_router(TestRouter().router)
Running Locally
- Install dependencies:
- Start MongoDB (locally or with Docker):
- Run your app:
Running with Docker Compose
- Copy the docker-compose.yml from the boilerplate or create your own:
-
Start everything:
-
See Logs
Your API will be available at http://localhost:8000/docs