# Programming-Navigator-Admin **Repository Path**: make-it-easy/programming-navigator-admin ## Basic Information - **Project Name**: Programming-Navigator-Admin - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-26 - **Last Updated**: 2025-07-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Programming-Navigator-Admin ## 项目描述 ​ 编程导航后台管理(Programming Navigator Admin, PNA)是一种用来管理和控制编程社区的软件系统,帮助工作人员高效管理编程社区内用户、文章及评论。PNA 可以追踪和记录文章以及评论的发布情况,并对评论数进行实时可视化分析。 ## 软件架构 **开发环境:**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图