# project-manage **Repository Path**: yangguang21/project-manage ## Basic Information - **Project Name**: project-manage - **Description**: 项目管理系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-18 - **Last Updated**: 2025-09-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目管理系统 一个基于SpringBoot 2.7.8和JWT的现代化项目管理系统,支持用户管理、权限控制等功能。 ## 技术栈 - **后端**: SpringBoot 2.7.8 - **数据库**: MySQL 8.0+ - **ORM框架**: MyBatis-Plus 3.5.3.1 - **安全**: Spring Security + JWT - **前端**: Thymeleaf + Bootstrap 5 - **构建工具**: Maven ## 功能特性 - ✅ 用户认证与授权 - ✅ JWT Token管理 - ✅ 角色权限控制(管理员/成员) - ✅ 用户管理(增删改查) - ✅ 响应式Web界面 - ✅ 安全过滤器 - ✅ MyBatis-Plus数据访问层 ## 系统要求 - Java 8+ - MySQL 8.0+ - Maven 3.6+ ## 快速开始 ### 1. 克隆项目 ```bash git clone cd project-manage ``` ### 2. 配置数据库 1. 创建MySQL数据库 2. 执行初始化脚本:`src/main/resources/db/init.sql` 3. 修改 `src/main/resources/application.properties` 中的数据库连接信息 ### 3. 运行项目 ```bash mvn spring-boot:run ``` 或者打包后运行: ```bash mvn clean package java -jar target/project-manage-1.0.0.jar ``` ### 4. 访问系统 - 首页: http://localhost:9090 - 登录: http://localhost:9090/login - 注册: http://localhost:9090/register ## 默认账户 - **管理员**: admin / admin123 - **成员**: member / member123 ## 项目结构 ``` src/ ├── main/ │ ├── java/com/projectmanage/ │ │ ├── controller/ # 控制器层 │ │ ├── service/ # 服务层 │ │ ├── mapper/ # MyBatis-Plus Mapper接口 │ │ ├── entity/ # 实体类 │ │ ├── config/ # 配置类 │ │ ├── filter/ # 过滤器 │ │ └── util/ # 工具类 │ └── resources/ │ ├── templates/ # Thymeleaf模板 │ ├── static/ # 静态资源 │ ├── db/ # 数据库脚本 │ └── application.properties # 配置文件 ``` ## API接口 ### 认证接口 - `POST /api/auth/login` - 用户登录 - `POST /api/auth/register` - 用户注册 ### 用户管理接口(需要管理员权限) - `GET /admin/users` - 获取所有用户 - `POST /admin/users` - 创建用户 - `PUT /admin/users/{userId}` - 更新用户 - `DELETE /admin/users/{userId}` - 删除用户 - `GET /admin/users/{userId}` - 获取指定用户 ## 技术特性 - **MyBatis-Plus**: 强大的MyBatis增强框架,简化数据库操作 - **自动填充**: 自动处理创建时间和更新时间 - **分页插件**: 内置分页功能 - **逻辑删除**: 支持软删除,数据更安全 - **JWT认证**: 无状态认证机制 - **密码加密**: BCrypt加密存储 ## 安全配置 - 使用JWT进行无状态认证 - 密码使用BCrypt加密 - 基于角色的访问控制 - CSRF保护已禁用(JWT场景下) ## 部署说明 ### 生产环境配置 1. 修改 `application.properties` 中的数据库连接信息 2. 更改JWT密钥 3. 配置HTTPS 4. 设置适当的日志级别 ### Docker部署 ```dockerfile FROM openjdk:8-jre-alpine COPY target/project-manage-1.0.0.jar app.jar EXPOSE 9090 ENTRYPOINT ["java", "-jar", "/app.jar"] ``` ## 开发说明 ### 添加新功能 1. 创建实体类(使用MyBatis-Plus注解) 2. 创建Mapper接口(继承BaseMapper) 3. 创建Service接口和实现(继承ServiceImpl) 4. 创建Controller 5. 添加前端页面 ### 数据库操作 项目使用MyBatis-Plus进行数据库操作: - **查询**: 使用QueryWrapper构建查询条件 - **插入**: 使用insert()方法 - **更新**: 使用updateById()方法 - **删除**: 使用deleteById()方法 - **分页**: 使用Page对象进行分页查询 ## 常见问题 ### Q: 启动时数据库连接失败 A: 检查MySQL服务是否启动,数据库连接信息是否正确 ### Q: JWT Token无效 A: 检查JWT密钥配置,确保前后端使用相同的密钥 ### Q: 权限不足 A: 确认用户角色设置正确,检查Spring Security配置 ### Q: MyBatis-Plus配置问题 A: 检查Mapper扫描路径和配置文件设置 ## 贡献指南 1. Fork项目 2. 创建功能分支 3. 提交更改 4. 推送到分支 5. 创建Pull Request ## 许可证 MIT License ## 联系方式 如有问题或建议,请提交Issue或联系开发团队。