4
4
5
5
# FastAPI Best Architecture
6
6
7
- English | [ 简体中文] ( ./README.zh-CN.md )
8
-
9
7
Enterprise-level backend architecture solution
10
8
11
- ** 🔥Continuously updated and maintained🔥 **
9
+ English | [ 简体中文 ] ( ./README.zh-CN.md )
12
10
13
11
[ ![ GitHub] ( https://img.shields.io/github/license/fastapi-practices/fastapi_best_architecture )] ( https://github.com/fastapi-practices/fastapi_best_architecture/blob/master/LICENSE )
14
12
[ ![ Python] ( https://img.shields.io/badge/python-3.10%2B-blue )] ( https://www.python.org/downloads/ )
@@ -21,12 +19,10 @@ Enterprise-level backend architecture solution
21
19
![ Docker] ( https://img.shields.io/badge/Docker-%232496ED?logo=docker&logoColor=white )
22
20
[ ![ Discord] ( https://img.shields.io/badge/Discord-%235865F2.svg?logo=discord&logoColor=white )] ( https://discord.com/invite/yNN3wTbVAC )
23
21
![ Discord] ( https://img.shields.io/discord/1185035164577972344 )
22
+ [ ![ Ask DeepWiki] ( https://deepwiki.com/badge.svg )] ( https://deepwiki.com/fastapi-practices/fastapi_best_architecture )
24
23
25
24
</div >
26
25
27
- > [ !NOTE]
28
- > This repository as a template library open to any person or enterprise can be used for free!
29
-
30
26
## Pseudo 3-tier architecture
31
27
32
28
The mvc architecture is a common design pattern in python web, but the 3-tier architecture is even more fascinating
@@ -45,43 +41,7 @@ pattern, use templates to transform it to your heart's content!
45
41
| data access | dao / mapper | crud |
46
42
| model | model / entity | model |
47
43
48
- ## Features
49
-
50
- - [x] Global FastAPI PEP 593 Annotated parameter style
51
- - [x] Comprehensive async/await + asgiref asynchronous design
52
- - [x] Adheres to RESTful API specifications
53
- - [x] Uses SQLAlchemy 2.0 with new syntax
54
- - [x] Uses Pydantic v2 version
55
- - [x] Implements role-menu RBAC access control
56
- - [x] Integrates Casbin RBAC access control
57
- - [x] Supports Celery asynchronous tasks
58
- - [x] Custom-developed JWT authentication middleware
59
- - [x] Supports global custom time zones
60
- - [x] Supports Docker / Docker-compose deployment
61
- - [x] Integrates Pytest unit testing
62
-
63
- ## Built-in Functions
64
-
65
- - [x] User Management: Assign roles and permissions
66
- - [x] Department Management: Configure organizational structure (company, department, team, etc.)
67
- - [x] Menu Management: Set up menus and button-level permissions
68
- - [x] Role Management: Configure roles, assign menus and permissions
69
- - [x] Dictionary Management: Maintain common parameters and configurations
70
- - [x] Parameter Management: Dynamically configure commonly used system parameters
71
- - [x] Notification Announcements: Publish and maintain system notification and announcement information
72
- - [x] Token Management: Detect online status, support forced logout
73
- - [x] Multi-device Login: Support one-click switching between multi-device login modes
74
- - [x] OAuth 2.0: Built-in custom-developed OAuth 2.0 authorization login
75
- - [x] Plugin System: Hot-swappable plugin design to reduce coupling
76
- - [x] Scheduled Tasks: Support scheduled, asynchronous tasks, and function calls
77
- - [x] Code Generation: Automatically generate code with preview, write, and download support
78
- - [x] Operation Logs: Record and query normal and abnormal operations
79
- - [x] Login Logs: Record and query normal and abnormal logins
80
- - [x] Cache Monitoring: Query system cache information and command statistics
81
- - [x] Service Monitoring: View server hardware information and status
82
- - [x] API Documentation: Automatically generate online interactive API documentation
83
-
84
- ## Development and deployment
44
+ ## Help
85
45
86
46
For more details, please check
87
47
the [ official documentation] ( https://fastapi-practices.github.io/fastapi_best_architecture_docs/ )
0 commit comments