# manage-system **Repository Path**: Marsfactory/manage-system ## Basic Information - **Project Name**: manage-system - **Description**: 火星科技项目管理平台---一个基于 **Spring Boot 3 + Vue 3** 的现代化项目管理系统,提供项目管理、任务管理、工时统计、团队协作等功能。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-01-09 - **Last Updated**: 2026-01-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🚀 火星项目管理平台 一个基于 **Spring Boot 3 + Vue 3** 的现代化项目管理系统,提供项目管理、任务管理、工时统计、团队协作等功能。 ## 📸 项目预览 - 仪表盘:数据概览、任务统计 - 项目管理:项目列表、项目详情、成员管理 - 任务管理:任务列表、任务看板(拖拽) - 我的看板:个人任务看板视图 - 工时统计:按成员/项目统计工时 - 系统管理:用户、角色、菜单管理 ## 🛠️ 技术栈 ### 后端 | 技术 | 版本 | 说明 | |------|------|------| | Spring Boot | 3.2.0 | 基础框架 | | MyBatis-Plus | 3.5.5 | ORM框架 | | Sa-Token | 1.37.0 | 权限认证 | | MySQL | 8.x | 数据库 | | Redis | 6.x+ | 缓存/会话存储 | | Knife4j | 4.4.0 | API文档 | | Hutool | 5.8.23 | 工具库 | | Lombok | - | 简化代码 | ### 前端 | 技术 | 版本 | 说明 | |------|------|------| | Vue | 3.4.0 | 前端框架 | | Vite | 5.0.10 | 构建工具 | | TypeScript | 5.3.3 | 类型支持 | | Naive UI | 2.38.1 | UI组件库 | | Pinia | 2.1.7 | 状态管理 | | Vue Router | 4.2.5 | 路由管理 | | Axios | 1.6.2 | HTTP客户端 | | ECharts | 5.4.3 | 图表库 | ## 📁 项目结构 ``` manage-system/ ├── backend/ # 后端项目 │ ├── src/main/java/com/promanage/ │ │ ├── common/ # 通用类(Result、PageResult等) │ │ ├── config/ # 配置类 │ │ ├── controller/ # 控制器 │ │ ├── dto/ # 数据传输对象 │ │ ├── entity/ # 实体类 │ │ ├── exception/ # 异常处理 │ │ ├── mapper/ # MyBatis Mapper │ │ ├── service/ # 服务层 │ │ │ └── impl/ # 服务实现 │ │ └── ProManageApplication.java │ ├── src/main/resources/ │ │ ├── db/init.sql # 数据库初始化脚本 │ │ ├── mapper/ # MyBatis XML │ │ └── application.yml # 配置文件 │ └── pom.xml │ └── frontend/ # 前端项目 ├── src/ │ ├── api/ # API接口 │ ├── layouts/ # 布局组件 │ ├── router/ # 路由配置 │ ├── stores/ # Pinia状态管理 │ ├── styles/ # 全局样式 │ ├── utils/ # 工具函数 │ ├── views/ # 页面组件 │ │ ├── dashboard/ # 仪表盘 │ │ ├── project/ # 项目管理 │ │ ├── task/ # 任务管理 │ │ ├── myBoard/ # 我的看板 │ │ ├── workHours/ # 工时统计 │ │ ├── statistics/ # 数据统计 │ │ ├── finance/ # 财务统计 │ │ ├── system/ # 系统管理 │ │ └── login/ # 登录页面 │ ├── App.vue │ └── main.ts ├── package.json ├── tsconfig.json └── vite.config.ts ``` ## 🚀 快速开始 ### 环境要求 - JDK 17+ - Node.js 18+ - MySQL 8.0+ - Redis 6.0+ - Maven 3.8+ ### 1. 克隆项目 ```bash git clone cd manage-system ``` ### 2. 初始化数据库 ```bash # 登录MySQL,执行初始化脚本 mysql -u root -p < backend/src/main/resources/db/init.sql ``` ### 3. 配置后端 编辑 `backend/src/main/resources/application.yml`: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/pro_manage?... username: root password: your_password data: redis: host: localhost port: 6379 password: your_redis_password # 如果有密码 ``` ### 4. 启动后端 ```bash cd backend mvn spring-boot:run ``` 后端启动后访问: - 服务地址:http://localhost:8080 - API文档:http://localhost:8080/doc.html ### 5. 启动前端 ```bash cd frontend npm install npm run dev ``` 前端启动后访问:http://localhost:5173 ### 6. 默认账号 | 用户名 | 密码 | 角色 | |--------|------|------| | admin | 123456 | 超级管理员 | ## 📦 生产部署 ### 前端打包 ```bash cd frontend npm run build ``` 打包后的文件在 `frontend/dist` 目录,将其复制到后端 `backend/src/main/resources/static/` 目录下。 ### 后端打包 ```bash cd backend mvn clean package -DskipTests ``` 生成的 jar 包在 `backend/target/pro-manage-1.0.0.jar` ### 启动生产环境 ```bash java -jar pro-manage-1.0.0.jar --spring.profiles.active=prod ``` ## 🔑 功能模块 ### 项目管理 - ✅ 项目创建/编辑/删除 - ✅ 项目成员管理 - ✅ 项目进度跟踪 - ✅ 项目状态管理 ### 任务管理 - ✅ 任务创建/编辑/删除 - ✅ 任务看板(支持拖拽) - ✅ 任务状态流转 - ✅ 任务优先级 - ✅ 任务负责人分配 - ✅ 预估/实际工时记录 - ✅ 任务评论 ### 我的看板 - ✅ 个人任务看板视图 - ✅ 按项目筛选 - ✅ 拖拽更改状态 ### 工时统计 - ✅ 工时概览统计 - ✅ 按成员统计工时 - ✅ 按项目统计工时 - ✅ 工时偏差分析 ### 数据统计 - ✅ 仪表盘数据概览 - ✅ 项目状态统计 - ✅ 任务状态统计 - ✅ 成员任务分布 ### 财务统计 - ✅ 财务概览 - ✅ 月度财务统计 - ✅ 项目金额明细 ### 系统管理 - ✅ 用户管理 - ✅ 角色管理 - ✅ 菜单管理 - ✅ 权限控制(RBAC) ## 📄 API文档 启动后端后,访问 Knife4j 文档: ``` http://localhost:8080/doc.html ``` 主要 API 模块: - `/auth/*` - 认证相关 - `/project/*` - 项目管理 - `/task/*` - 任务管理 - `/statistics/*` - 数据统计 - `/system/user/*` - 用户管理 - `/system/role/*` - 角色管理 - `/system/menu/*` - 菜单管理 ## 🗃️ 数据库设计 ### 核心表 | 表名 | 说明 | |------|------| | sys_user | 用户表 | | sys_role | 角色表 | | sys_permission | 权限/菜单表 | | sys_user_role | 用户角色关联表 | | sys_role_permission | 角色权限关联表 | | project | 项目表 | | project_member | 项目成员表 | | task | 任务表 | | task_comment | 任务评论表 | | task_log | 任务操作日志表 | ## 🔧 配置说明 ### Sa-Token 配置 ```yaml sa-token: token-name: Authorization # Token名称 timeout: 86400 # Token有效期(秒) is-concurrent: true # 允许多端登录 token-style: uuid # Token风格 ``` ### MyBatis-Plus 配置 ```yaml mybatis-plus: global-config: db-config: id-type: auto # 主键自增 logic-delete-field: deleted logic-delete-value: 1 logic-not-delete-value: 0 ``` ## 📝 开发规范 ### 后端规范 - Controller 统一返回 `Result` 对象 - 分页查询使用 `PageQuery` 和 `PageResult` - 业务异常抛出 `BusinessException` - 实体类继承 `BaseEntity` ### 前端规范 - 使用 Composition API - API 请求封装在 `/api` 目录 - 全局状态使用 Pinia 管理 - 路由配置在 `/router/index.ts` ## 📜 License [MIT License](LICENSE) ## 🤝 贡献 欢迎提交 Issue 和 Pull Request!