Skip to content

HuiDBK/TaskFlow

Repository files navigation

任务管理系统

登陆 taskflow_index.png

首页 taskflow_index.png

项目简介

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

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

项目特色

1、异步框架服务

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

2、日志链路追踪

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

3、统一错误处理与鉴权

封装统一的错误处理机制,支持 JWTOAuth2.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. 项目团队协作管理

项目工程结构

    |-- 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              项目主入口模块

依赖安装

pip install -r requirements.txt

项目启动

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

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 编排启动服务。

About

FastAPI 实战:任务管理系统

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages