编程导航后台管理

项目介绍

编程导航后台管理(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

功能实现

  1. 登录模块:验证码,管理员注册/登录/退出,管理员头像云存储,管理员信息修改。
  2. 用户模块:新增用户,用户的启动和禁用,查询和修改用户角色,重置用户密码。
  3. 文章/评论模块:新增和修改文章/评论,设置文章/评论状态,评论可视化分析。

技术要点

  1. 基于双令牌刷新策略,使用 JWT 生成 token,实现登录鉴权,并使用 Redis 存储 token
  2. 使用 Redis 分布式缓存存取文章/评论id。
  3. 使用 RBAC 进行权限菜单树的开发,实现了用户和权限逻辑分离。
  4. 进行验证码的开发,使用 SHA256 对密码进行盐值加密
  5. 使用动态数据源对数据进行分库存储,使用 Interceptor 进行登录拦截
  6. 使用 AliyunOSS 存取管理员头像,使用 PageHelper 插件实现分页查询
  7. 使用 AOP 进行统一日志和声明式事务管理
  8. 设置 GlobalExceptionHandler 处理异常,并使用 Knife4j 文档进行后端接口测试。

项目ER图