Back to MCP directory
publicPublicdnsLocal runtime

fastapi_best_architecture

FastAPI 最佳架构是一个企业级后端架构解决方案,基于 Python 3.10+ 和 FastAPI 框架构建。它采用类三层架构,提供清晰的分层结构,包括 API 层、Schema 层、服务层和 CRUD 层,支持 MySQL、PostgreSQL 等数据库,并集成了 SQLAlchemy、Pydantic 等工具。该架构旨在简化开发流程,提升代码可维护性,适用于中大型项目的快速开发。此外,项目支持 Docker 部署,并提供详细的文档和社区支持,帮助开发者快速上手。

article

README

FastAPI Best Architecture - Backend

Docker

  1. Make sure you're at the root of the project

  2. Run the following Docker command to build container:

    docker build -f Dockerfile -t fba_backend_independent .
    
  3. Start container

    Native boot needs to change 127.0.0.1 in .env to host.docker.internal

    docker run -d -p 8000:8000 --name fba_server fba_backend_independent
    

Contributing

  1. Prerequisites

    • Python >= 3.10
    • Git
    • uv
    • Fork this repository to your GitHub account
  2. Installation and setup

    Clone your forked repository:

    git clone https://github.com/<your account>/fastapi_best_architecture.git
    

    Go to the root directory of the project, open the terminal, and run the following command:

    uv sync --frozen
    
  3. Checkout

    Checkout a new branch and make your changes

    git checkout -b your-new-feature-branch
    
  4. Format and Lint

    Auto-formatting and lint via pre-commit

    pre-commit run --all-files
    
  5. Commit and push

    Commit your changes and push your branch to the GitHub.

  6. PR

    Create a PR via GitHub

Scripts

[!WARNING]

The following script may not apply to the Windows platform

It is recommended to execute under the backend directory, and chmod authorization may be required

  • pre_start.sh: Perform automatic database migration and create database tables

  • celery-start.sh: For celery docker script, implementation is not recommended

  • scripts/format.sh: Perform ruff format check

  • scripts/lint.sh: Perform pre-commit formatting

  • scripts/export.sh: Execute uv export dependency package

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client