FastAPI 实战:任务管理系统

登陆

首页

甘特图

项目简介

任务管理系统 是一个基于 FastAPI 构建的 Web 应用程序,提供用户管理、项目管理、任务管理、甘特图预览以及 GitHub 登录等核心功能。项目集成了 py-tools,旨在助力快速开发与交付。

本项目的核心目标是帮助开发者深入理解并掌握 FastAPI 中的常用功能与最佳实践,包括中间件、自定义错误处理、依赖注入(Depends)、模块化路由等。同时,通过 py-tools 的集成与应用,简化业务开发流程,提升开发效率,全面了解其封装与实现细节。

项目特色

1、异步框架服务

基于 FastAPI 和 Uvicorn 构建高性能异步服务,py-tools 集成封装 SQLAlchemy、aiohttp、loguru 等,助力快速开发与交付。

2、日志链路追踪

实现完整的日志链路追踪,通过 FastAPI 中间件、contextvars 与日志过滤器,精确定位请求路径,提升系统可观测性与问题排查效率。

3、统一错误处理与鉴权

封装统一的错误处理机制,支持 JWT 与 OAuth2.0 鉴权体系,结合 APIRoute 实现日志中间件,确保 Web 请求的安全性与一致性。

4、请求与用户上下文管理

基于 FastAPI Depends 封装请求上下文,通过自定义鉴权中间件加载用户上下文,借助 contextvars 在任意位置轻松获取用户信息,实现便捷的上下文传递。

5、标准化响应格式

结合 pydantic 模型与错误码设计,统一定义接口响应的成功与失败返回格式,提升 API 的可读性与一致性。

6、第三方登录集成

支持 GitHub OAuth 2.0 登录,便捷接入第三方认证体系,提升用户体验与系统安全性。

7、前端技术栈

前端基于 React + TypeScript + Vite 构建,提供中英文双语版本,集成甘特图预览等功能。(AI 辅助开发,提升前端交互与展示效果 ^_^)

8、容器化部署

通过 docker-compose 编排服务,简化应用部署流程,实现快速上线与环境一致性保障。

TODO

  1. 项目、任务到期提醒
  2. 每日AI Task 分析
  3. 项目团队协作管理

项目工程结构

 

python

代码解读

复制代码

|-- TaskFlow |-- bin: 快捷可执行命令文件 |-- conf: 项目部署中间件的配置 |-- docs: 项目文档 |-- logs: 项目日志 |-- src: 源代码 |-- data_models: 数据模型 |-- api_models: 接口出入参校验模型 |-- logic_models: 业务数据模型 |-- constants: 常量模块 |-- enums: 枚举模块 |-- dao: 数据访问层,例如mysql |-- controllers: 控制层,调用services |-- project: 项目路由处理 |-- tag: 标签路由处理 |-- task: 任务路由处理 |-- user: 用户路由处理 |-- middlewares: 中间件层 |-- routers: 路由层,调用handlers |-- services: 逻辑层,业务服务逻辑 |-- oauth: 鉴权模块 |-- user: 用户模块 |-- project: 项目模块 |-- task: 任务模块 |-- tag: 标签模块 |-- settings: 项目配置模块 |-- utils: 常用工具 |-- server.py: 服务入口 |-- tests: 单元测试用例 |-- .pre-commit-config.yaml: 代码格式规范 |-- docker-compose.yaml: docker-compose 配置 |-- Dockerfile: 项目 Dockerfile 配置 |-- requirements.txt 依赖文件 |-- README.md 项目说明文档 |-- main.py 项目主入口模块

依赖安装

 

python

代码解读

复制代码

pip install -r requirements.txt

项目启动

修改 src/settings 目录下的配置文件,如MySQL、Github OAuth等。

 

python

代码解读

复制代码

python main.py

项目部署

  1. 修改 src/settings 目录下的配置文件,如MySQL、Github OAuth等。
  2. 把打包好的前端代码放到 res/front_dist 目录下。
  3. 在当前目录下构建后端服务镜像 docker build -t taskflow_image .
  4. 运行./bin/start.sh 利用 docker-compose 编排启动服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值