从0到1的毕设 学习社区

👽System.out.println(“👋🏼嗨,大家好,我是代码不会敲的小符,双非大四,春招努力找工作中…”);
📚System.out.println(“🎈如果文章中有错误的地方,恳请大家指正!共同进步,共同成长✊”);
🌟System.out.println(“💡如果文章对您有所帮助,希望您可以三连支持一下博主噢🔥”);
🌈System.out.println("🚀正在完成计划中:努力找工作 ");

项目介绍

简介:一个社区学习圈子,帮助用户学习,进行平台统一化。用户可以在平台,完善自身知识,刷自身薄弱点面试题,配合练习,来提升自己的能力。主要是自己之前的单体项目的技术的整合和实现。

大家在学习的过程中,是需要进行题目的学习和练习的,一般就是根据pdf或者在线文档进行学习,质量参差不齐,所以想做一个线上化的题目学习社区,进行资源的整合,同时将自己之前学过的技术再次进行练习和整合实现。以 C 端为主和社区的形式进行展现,主要实现的功能有刷题区,练题区,交流区,模拟面试区、博客区等等。目前从0到1实现的模块主要是刷题区,主要是输出自己的想法设计,技术选型、架构设计、功能的设计和落地。
在这里插入图片描述

服务介绍

在这里插入图片描述
目前已经实现的学习社区服务有网关服务、用户鉴权服务、微信服务、题目服务、文件服务

  • gateway网关服务是项目的流量入口,主要实现了路由、负载、统一鉴权和全局过滤器、异常处理这些功能。
  • auth用户服务是用户的登录、注册、权限校验以及对用户的信息管理功能。
  • 微信服务利用WxJava集成了微信公众号和微信支付的功能。
  • 题目服务是对题目的管理以及题目的排行榜、数据同步等功能。
  • 文件服务利用阿里云oss、minio或者其他等等来存储图片等文件信息。

架构设计

在这里插入图片描述

  • 前端实现vue、react都是可以的,这里不介绍了。
  • 部署上线我们可以用nginx进行反向代理和负载均衡。
  • 因为是微服务架构,网关服务采用的是gateway,进行统一的入口和请求的分发。
  • 因为是自己的技术学习项目,所以一些服务采用的是ddd四层架构设计,一些服务是mvc三层架构设计
  • 关于框架的选取是当前主流的框架,SpringBoot服务的快速开发,SpringCloud Alibaba微服务体系,MybatisPlus数据库的快速操作,鉴权框架Sa-token相对于传统的SpringSecurity更加容易上手和操作,等等
  • 中间件xxl-job任务分布式调度,同步数据信息
  • mysql存储数据信息,redis存储一些常用数据和排行榜、分布式锁的实现等等,es可用于实现题目的全文搜索功能

整体部署可以部署在多台服务器上,每一台服务器都部署一套应用,这样某一服务器挂了也不影响使用,部署nginx进行反向代理到项目的网关,对外是前端的域名,解析到前端服务器暴露公网,其他的后端及中间件交互都是通过内网的地址来进行交互。
项目的整体选取的是微服务框架spring cloud alibaba,springboot,权限satoken,网关gateway,配合mysql,redis,xxl-job,mq等中间件来作为整体项目的技术架构。

技术选型

技术选型主要是考虑上手难度,技术生态,时间等等。这个项目的时间比较充足,所以先做自己的框架选型后,再开发业务,不需要选取一些已经做好的框架和业务,在上面二次开发,二次开发对扩展性和可维护性都比较差。
从0到1来做这个项目,这个需求社区设计的功能比较多,为了后续更好的扩展,选取微服务的形式来进行开发,直接使用的是spring cloud alibaba,相比于传统cloud,更加方便使用。数据库的数据量不会太大,直接选择mysql即可。缓存就是用redis比较方便。定时任务因为是微服务,选择 xxljob。

数据建模

数据建模就是根据具体业务进行数据库的表设计

用户管理:采用rabc模型

  • 用户表、角色表、权限表、用户角色表、角色校验表

题目管理:根据具体的场景实现,题目有标签、分类、题目信息等

  • 题目信息表、题目分类表、题目标签表、题目分类标签关系表
  • 单选题信息表、判断题信息表等等
  • 题目点赞表

后续的讨论帖子管理:可以有帖子的管理、评论的管理、私信等等

  • 帖子表、评论表、私信消息表

后续的练题管理:可以有试卷的管理、实际练习的管理等等

  • 试卷表、试卷明细表、练习结果表、练习结果明细表

等等

最后

慢慢的来,别着急!学会有质量的走过每一步


我是代码不会敲的小符,希望认识更多有经验的大佬,也在努力摸索出自己的道路
欢迎添加小符微信:A13781678921,一起加油

  • 36
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码不会敲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值