mirror of
https://github.com/fastapi-practices/fastapi-best-architecture.git
synced 2026-09-21 21:15:13 +00:00
79 lines
3.7 KiB
Markdown
79 lines
3.7 KiB
Markdown
<div align="center">
|
|
|
|
<img alt="The logo includes the abstract combination of the three letters FBA, forming a lightning bolt that seems to spread out from the ground" width="320" src="https://wu-clan.github.io/picx-images-hosting/logo/fba.png">
|
|
|
|
# FastAPI Best Architecture
|
|
|
|
Enterprise-level backend architecture solution
|
|
|
|
English | [简体中文](./README.zh-CN.md)
|
|
|
|
[](https://github.com/fastapi-practices/fastapi_best_architecture/blob/master/LICENSE)
|
|
[](https://www.python.org/downloads/)
|
|

|
|

|
|

|
|
[](https://pydantic.dev)
|
|
[](https://github.com/astral-sh/ruff)
|
|
[](https://github.com/astral-sh/uv)
|
|

|
|
[](https://discord.com/invite/yNN3wTbVAC)
|
|

|
|
[](https://deepwiki.com/fastapi-practices/fastapi_best_architecture)
|
|
|
|
</div>
|
|
|
|
## Pseudo 3-tier architecture
|
|
|
|
The mvc architecture is a common design pattern in python web, but the 3-tier architecture is even more fascinating
|
|
|
|
In python web development, there is no common standard for the concept of 3-tier architecture, so we'll call it a
|
|
pseudo 3-tier architecture here
|
|
|
|
But please note that we don't have a traditional multi-app structure (django, springBoot...) If you don't like this
|
|
pattern, use templates to transform it to your heart's content!
|
|
|
|
| workflow | java | fastapi_best_architecture |
|
|
|----------------|----------------|---------------------------|
|
|
| view | controller | api |
|
|
| data transmit | dto | schema |
|
|
| business logic | service + impl | service |
|
|
| data access | dao / mapper | crud |
|
|
| model | model / entity | model |
|
|
|
|
## Help
|
|
|
|
For more details, please check
|
|
the [official documentation](https://fastapi-practices.github.io/fastapi_best_architecture_docs/)
|
|
|
|
## Contributors
|
|
|
|
<a href="https://github.com/fastapi-practices/fastapi_best_architecture/graphs/contributors">
|
|
<img src="https://contrib.rocks/image?repo=fastapi-practices/fastapi_best_architecture"/>
|
|
</a>
|
|
|
|
## Special thanks
|
|
|
|
- [FastAPI](https://fastapi.tiangolo.com/)
|
|
- [Pydantic](https://docs.pydantic.dev/latest/)
|
|
- [SQLAlchemy](https://docs.sqlalchemy.org/en/20/)
|
|
- [Casbin](https://casbin.org/zh/)
|
|
- [Ruff](https://beta.ruff.rs/docs/)
|
|
- ...
|
|
|
|
## Interactivity
|
|
|
|
[Discord](https://wu-clan.github.io/homepage/)
|
|
|
|
## Sponsor us
|
|
|
|
If this program has helped you, you can sponsor us with some coffee
|
|
beans: [:coffee: Sponsor :coffee:](https://wu-clan.github.io/sponsor/)
|
|
|
|
## License
|
|
|
|
This project is licensed by the terms of
|
|
the [MIT](https://github.com/fastapi-practices/fastapi_best_architecture/blob/master/LICENSE) license
|
|
|
|
[](https://starchart.cc/fastapi-practices/fastapi_best_architecture)
|