该项目是一个集中管理交付项目进度的系统,旨在帮助团队把控项目交付成本、跟踪项目问题, 并提供全面的项目管理和监控功能。该系统的开发过程中,我担任了以下职责:
技术栈:
后端框架:Spring Boot
持久层框架:MyBatis-Plus
缓存服务:Redis(用于存储用户 Token 和热点数据缓存)
数据库:Mysql
权限控制:Spring Security + JWT
定时任务:Quartz
前端技术:Vue3.js + Element UI
项目职责:
系统架构设计: 使用 Spring Boot 搭建后端服务,设计 RESTful API 接口,实现前后端分离。 采用 MyBatis-Plus 实现数据持久化,优化数据库查询性能,支持动态 SQL 和分页查询。 使用 Redis 缓存用户 Token 和热点数据,减少数据库压力,提升系统响应速度。
权限控制与角色管理: 基于 Spring Security 和 JWT 实现用户认证和权限控制,支持动态菜单配置和角色权限分配。 设计 RBAC(基于角色的访问控制)模型,确保不同角色用户只能访问其权限范围内的功能。
项目管理模块开发: 实现项目管理功能,包括项目创建、编辑、删除、查询等操作,支持项目状态跟踪和进度管理。 开发项目计划模块,支持甘特图展示和任务分配,确保项目按计划推进。
报表与数据分析: 开发项目周报表和人员产出统计功能,支持数据导出和可视化展示。 使用 ECharts 实现数据可视化,生成项目人员分布图和项目进度趋势图。
定时任务与异步处理: 使用 Quartz 实现定时任务,定期生成项目周报和发送提醒邮件。 通过异步任务处理耗时操作(如数据导出),提升系统性能。
性能优化与问题排查: 优化数据库查询,使用索引和缓存技术提升系统性能。 通过日志分析定位并解决系统瓶颈。