Skip to content

CarefreeState/OKR-System4.0

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

「1」用户模块

  1. 用户登录(小程序登录、邮箱登录、密码登录、授权登录)
  2. 用户绑定(邮箱绑定、微信绑定)
  3. 默认头像(查看、上传、删除)
  4. 用户信息(更改昵称,上传头像,查看当前用户信息)
  5. 用户管理(条件分页查询,更改用户类别,重置用户头像)

「2」三种 OKR

个人 OKR

团队 OKR

团队个人 OKR

「3」OKR 内核

  1. 四象限增删改查

子模块:

  1. OKR 截止时间
  2. OKR 日记录
  3. OKR 荣誉勋章

「4」项目介绍

项目简介

这是一个基于微信小程序的 OKR(Objectives and Key Results)目标四象限管理工具,采用前后端分离的架构; 项目曾获得计算机设计大赛省级三等奖,累计用户达 1508; 我负责整个项目的后端架构设计与开发,项目源码:https://github.com/CarefreeState/OKR-System4.0

主要功能

  • 用户登录与绑定:支持多种登录方式(小程序/邮箱/密码/跨端授权),并提供账号绑定功能(小程序/邮箱);
  • OKR 规划与管理:用户可以创建各种 OKR,根据科学四象限法则管理目标,设定目标周期提醒;
  • 团队与成员管理:支持团队创建与管理,可邀请成员加入团队,查看团队成员以及创建子团队,形成团队树结构;
  • 数据分析与勋章:提供数据统计分析,记录 OKR 目标的实现情况,制定和实现 OKR 目标的过程还可获得荣誉勋章;

技术选型

  • 网络协议与反向代理:HTTPS、SSE、Nginx
  • 后端框架:Spring Boot (3.0.5)、Spring MVC、Spring AOP
  • 对象关系与结构映射:MyBatis-Plus、MapStruct
  • 数据存储与对象上传:MySQL、Redis、MinIO
  • 分布式锁以及读写锁:Redis + Redisson
  • 消息队列与任务调度:RabbitMQ、XXL-JOB

项目亮点

参考 Spring Security 安全框架设计出,轻量化高可扩展的身份认证与授权架构:

  • 通过 AOP 与 JWT 配合自定义注解和责任链模式实现身份认证授权,并实现令牌无感刷新,提升系统安全性用户体验;

独创的一套为海量消息和高并发热点消息,提供高可用精准延时服务的解决方案:

  • 结合 RabbitMQ,Redis ZSet,XXL-JOB,定时线程池实现高可用的延时功能;

组件封装与设计模式:

  • 使用单例、策略、工厂、建造者、责任链等常见设计模式封装系统组件,优化系统结构与代码质量;

接口的高效校验与快速响应:

  • 合理创建 MySQL 索引,进行 SQL 优化,例如使用覆盖索引 + 子查询实现高效的深度分页查询;
  • 使用 Redis 对一些数据进行缓存,利用布隆过滤器预防缓存穿透,高效生成唯一短码;
  • 通过 JUC 多线程技术优化任务的异步执行,分批处理和数据汇总,大幅提升系统的性能和响应速度;
  • 使用 RabbitMQ 实现消息异步通信与服务解耦,例如从主服务拆分出勋章服务和数据统计分析服务;

分布式任务调度:

  • 使用 XXL-JOB 实现分布式定时任务调度,如定期扫描任务,清除不活跃资源,异步持久化数据;

About

OKR 后端

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages