Note
This repository as a template library open to any person or enterprise can be used for free!
English | 简体中文
FastAPI framework based on the front-end and back-end separation of the middle and back-end solutions, follow the pseudo three-tier architecture design, support for python3.10 and above versions
🔥Continuously updated and maintained🔥
The mvc architecture is a common design pattern in python web, but the three-tier architecture is even more fascinating
In python web development, there is no common standard for the concept of three-tier architecture, so we'll call it a pseudo three-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 |
You can view some of the preview screenshots in fastapi_best_architecture_ui
For the demo entrance, please refer to Official documentation
tester: test / 123456
super: admin / 123456
- Design with FastAPI PEP 593 Annotated Parameters
- Global asynchronous design with async/await + asgiref
- Follows Restful API specification
- Global SQLAlchemy 2.0 syntax
- Pydantic v1 and v2 (different branches)
- Casbin RBAC access control model
- Role menu RBAC access control model
- Celery asynchronous tasks
- JWT middleware whitelist authentication
- Global customizable time zone time
- Docker / Docker-compose deployment
- Pytest Unit Testing
- User management: management of system user roles, assignment of permissions
- Departmental management: Configuration of the system organization (company, department, group, ...)
- Menu management: Configuration of system menus, user menus, button permission labels
- Role management: assignment of role menu privileges, assignment of role routing privileges
- Dictionary management: maintenance of commonly used fixed data or parameters within the system
- Code generation: back-end code is automatically generated, supporting preview, write and download.
- Operation log: logging and querying of normal and abnormal system operations.
- Login authentication: graphical captcha backend authentication login
- Logging: logging and querying of normal and abnormal user logins
- Service monitoring: server hardware device information and status
- Timed tasks: automated tasks, asynchronous tasks, support for function calls
- Interface Documentation: Automatically generate online interactive API interface documentation.
For more details, please check the official documentation
If this program has helped you, you can sponsor us with some coffee beans: ☕ Sponsor ☕
This project is licensed by the terms of the MIT license