项目-编程导航后台管理
编程导航后台管理
项目介绍
编程导航后台管理(Programming Navigator Admin, PNA)是一种用来管理和控制编程社区的软件系统,帮助工作人员高效管理编程社区内用户、文章及评论。PNA 可以追踪和记录文章以及评论的发布情况,并对评论数进行实时可视化分析。
前端地址:Programming-Navigator-Admin
后端地址:Programming-Navigator-Admin-Frontend
软件架构
开发环境:JDK8、Mysql5.7、Redis6.2.18、Node16.20.2
项目架构:Maven3.6.3、SpingBoot、Vue3
功能实现
- 登录模块:验证码,管理员注册/登录/退出,管理员头像云存储,管理员信息修改。
- 用户模块:新增用户,用户的启动和禁用,查询和修改用户角色,重置用户密码。
- 文章/评论模块:新增和修改文章/评论,设置文章/评论状态,评论可视化分析。
技术要点
- 基于双令牌刷新策略,使用 JWT 生成 token,实现登录鉴权,并使用 Redis 存储 token。
- 使用 Redis 分布式缓存存取文章/评论id。
- 使用 RBAC 进行权限菜单树的开发,实现了用户和权限逻辑分离。
- 进行验证码的开发,使用 SHA256 对密码进行盐值加密。
- 使用动态数据源对数据进行分库存储,使用 Interceptor 进行登录拦截。
- 使用 AliyunOSS 存取管理员头像,使用 PageHelper 插件实现分页查询。
- 使用 AOP 进行统一日志和声明式事务管理。
- 设置 GlobalExceptionHandler 处理异常,并使用 Knife4j 文档进行后端接口测试。
项目ER图
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 慕易的书屋!
评论


