# TaProject **Repository Path**: chntamap/ta-project ## Basic Information - **Project Name**: TaProject - **Description**: 一个个人任务计划管理系统/软件, 支持项目及任务管理、项目管理、甘特图显示、看板显示等功能 (开发中) 使用TRAE辅助开发 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: develop - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-08-31 - **Last Updated**: 2025-09-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TaProject 任务管理系统 TaProject是一个现代化的任务管理系统,帮助团队高效协作、合理规划和跟踪项目进度,提升工作效率。 ## 主要功能 - 🔐 **用户认证**:提供安全的登录机制和权限管理(已实现) - 📊 **仪表盘**:直观展示项目和任务的统计信息(已实现) - 📋 **项目管理**:创建、编辑、删除项目,管理项目基本信息(已实现) - 📝 **任务管理**:创建、分配、跟踪任务,设置优先级和截止日期(已实现) - 📊 **看板视图**:通过拖拽方式直观管理任务状态(开发中) - 📅 **甘特图**:可视化展示项目进度和任务依赖关系(开发中) - 🎯 **里程碑管理**:设置和跟踪项目关键节点(开发中) - 👥 **组织管理**:管理团队成员和组织结构(开发中) - 👤 **个人信息管理**:查看和编辑个人信息,修改密码(已实现) 具体参考:[功能需求说明书](docs/dest.md) ## 技术栈 ### 前端 - **框架**:Vue 3 - **UI组件库**:Element Plus - **状态管理**:Pinia - **路由**:Vue Router - **构建工具**:Vite ### 后端 TaProject后端服务使用Go语言开发,基于Gin框架和GORM ORM库。详细说明请参考[后端README](backend/README.md)文档。 - **语言**:Go 1.20+ - **Web框架**:Gin - **ORM库**:GORM - **数据库**:SQLite(开发环境),推荐PostgreSQL/MySQL(生产环境) - **认证方案**:JWT令牌认证 - **API文档**:Swagger ## 项目结构 ``` ├── .gitignore # Git忽略配置 ├── .vscode/ # VSCode配置 ├── LICENSE # 许可证文件 ├── README.md # 项目说明文档 ├── backend/ # 后端代码 │ ├── cmd/ # 命令行入口 │ │ └── server/ # 服务器启动入口 │ ├── go.mod # Go模块定义 │ ├── go.sum # 依赖版本锁定 │ ├── internal/ # 内部包 │ │ ├── handler/ # HTTP处理器 │ │ ├── middleware/ # 中间件 │ │ ├── model/ # 数据模型 │ │ ├── repository/ # 数据访问层 │ │ └── service/ # 业务逻辑层 │ ├── pkg/ # 可复用包 │ │ └── utils/ # 工具函数 │ ├── scripts/ # 测试和工具脚本 │ ├── storage/ # 存储目录 ├── config/ # 配置文件 │ ├── app.env # 应用配置文件 │ └── app.env.sample # 配置文件模板 ├── dist/ # 构建输出目录 ├── docs/ # 文档目录 │ └── dest.md # 功能需求说明书 └── frontend/ # 前端代码 ├── index.html # HTML入口 ├── package-lock.json # NPM依赖锁定 ├── package.json # NPM配置 ├── public/ # 静态资源目录 ├── scripts/ # 前端测试脚本 ├── src/ # 源代码目录 │ ├── App.vue # 根组件 │ ├── api/ # API接口定义 │ ├── assets/ # 静态资源 │ ├── components/ # 可复用组件 │ ├── layouts/ # 布局组件 │ ├── main.js # 应用入口 │ ├── router/ # 路由配置 │ ├── store/ # 状态管理 │ └── views/ # 页面组件 └── vite.config.js # Vite配置 ``` ## 快速开始 ### 前端开发环境 #### 前置要求 - Node.js (v14.0+) 和 npm (v6.0+) #### 安装依赖 ```bash # 进入前端目录 cd frontend # 安装依赖 npm install ``` #### 开发模式运行 ```bash # 开发模式启动前端服务 npm run dev ``` 开发服务器启动后,可以通过浏览器访问 `http://localhost:3000` 查看应用。 #### 构建生产版本 ```bash # 构建生产版本 npm run build ``` 构建完成后,静态文件将生成在 `dist` 目录中。 ### 后端开发环境 #### 前置要求 - Go 1.20+ - SQLite (项目默认使用SQLite作为数据库) #### 安装依赖 ```bash # 进入后端目录 cd backend # 安装依赖 go mod download ``` #### 初始化数据库 项目启动时会自动初始化数据库并创建必要的表结构。如果需要创建默认的管理员用户,可以运行以下脚本: ```bash # 运行数据库初始化脚本 cd backend mkdir -p storage/db go run scripts/init_db.go ``` 运行后,系统会创建一个默认的管理员用户: - 用户名: admin - 密码: password 请在首次登录后修改密码。 #### 运行后端服务 ```bash # 进入后端目录 cd backend # 运行服务 cd cmd/server go run main.go ``` 服务启动后,可以通过浏览器或API测试工具访问 `http://localhost:8080`。 #### API文档 项目使用Swagger自动生成API文档。服务启动后,可以通过以下URL访问API文档: - `http://localhost:8080/swagger/index.html` #### 后端配置说明 项目配置文件位于 `config/app.env`(如果不存在,可以从 `config/app.env.sample` 复制)。主要配置项包括: - **数据库配置**:数据库类型、名称、路径等 - **JWT配置**:JWT密钥、过期时间等 - **服务器配置**:运行环境、端口等 ## 测试脚本说明 ### 后端测试脚本 后端测试脚本位于 `backend/scripts/` 目录下,用于测试后端API功能,包括: - **Go语言版本(推荐)**: - `api_test.go`:包含完整API测试流程和简化版任务测试流程,具有更好的跨平台兼容性 - 测试功能:用户登录、项目管理、任务管理、任务状态更新等 - **PowerShell版本(保留作为参考)**: - `final_task_test.ps1`:功能完整的PowerShell测试脚本 - `task_only_test.ps1`:简化版任务测试脚本 详细使用方法请参考 [后端测试脚本使用说明](backend/scripts/测试脚本使用说明.md)。 ### 前端测试脚本 前端测试脚本位于 `frontend/scripts/` 目录下,主要用于在浏览器控制台中运行,帮助测试和验证前端应用功能: - **browser_auth_test.js**:全面测试用户身份验证流程 - **complete_test.js**:综合测试应用功能,包括登录、刷新页面保持登录状态和登出功能 - **refresh_login_test.js**:专门测试登录功能和刷新页面后是否能保持登录状态 - **auto_login.js**:自动填充登录表单并提交,方便快速测试登录功能 - **status_code_test.js**:测试不同URL的返回状态码 详细使用方法请参考 [前端测试脚本说明](frontend/scripts/README.md)。 ## 自定义配置 ### 全局样式 全局样式定义在 `src/assets/style.css` 文件中,可以根据需求修改主题颜色、字体大小等样式。 ### 路由配置 路由配置位于 `src/router/index.js` 文件中,可以根据业务需求添加或修改路由。 ### 状态管理 项目使用Pinia进行状态管理,相关配置位于 `src/store/` 目录下。 ## 开发指南 ### 组件开发 - 可复用组件请放在 `src/components/` 目录下 - 页面组件请放在 `src/views/` 目录下 - 布局组件请放在 `src/layouts/` 目录下 ### 状态管理 - 新的状态模块请在 `src/store/` 目录下创建新的JS文件 - 遵循Pinia的状态管理最佳实践 ### API调用 目前项目使用模拟数据进行开发,实际开发时需要替换为真实的API调用。 ## 许可证 本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件