一个可以闲聊和讨论技术的论坛
巨石论坛:后端采用java微服务,webflux模式开发 前端采用vue开发的论坛
可以在 application.yml 中修改账号密码等配置
-
jdk11
-
redis5
-
nacos1.0.1
-
mongodb4.0.1
-
jushi-auth-server
-
jushi-gateway
-
jushi-module-web
-
jushi-module-admin
没有先后顺序
前端链接: https://github.com/guowenzhuang/jushi-web-vant
|-- jushi
|-- jushi-auth 权限模块
| |-- jushi-auth-client 权限客户端
| |-- jushi-auth-common 权限公共模块
| |-- jushi-auth-server 权限服务端
|-- jushi-gateway 网关
|-- jushi-module 业务模块
| |-- jushi-module-admin 后台管理
| |-- jushi-module-api 业务公共模块
| |-- jushi-module-web web后台
|-- sql sql脚本
项目采用微服务的架构并结合流行的webflux模式开发
抛弃了原先的 controller service dao 分层开发 采用route handler dao分层开发 全部是基于函数式响应式的开发
本次项目采用mongodb作为主数据库 主要有以下几种原因
-
mongodb支持 reactive(响应式)
-
mongodb与关系型数据库结构最为接近 耗费学习成本较小
-
mongodb在4.0 版本后新增了事务 解决了不如关系型数据库的缺点
-
mongodb在2.4版本后已经修复了数据丢包问题
名称 | 介绍 | 链接 |
---|---|---|
gateway | spring cloud 基于webflux的路由 | https://spring.io/projects/spring-cloud-gateway |
nacos | 服务注册和发现 & 配置中心 | https://nacos.io/zh-cn/index.html |
mongodb-reactive | mongodb-reactive作为dao层框架 | https://www.baeldung.com/spring-data-mongodb-reactive |
data-redis | 操作redis的框架 | https://spring.io/projects/spring-data-redis |
lombok | 帮助快速生成开发的插件 | https://www.projectlombok.org/ |
security | 用户认证 | https://spring.io/projects/spring-cloud-security |
webflux | 反应式编程 | https://docs.spring.io/spring-framework/docs/5.0.0.BUILD-SNAPSHOT/spring-framework-reference/html/web-reactive.html |
- admin 后台管理未开发
- 搜索未集成es
- 搜索中文分词 hutool DFA查找
- 登录 注册 修改密码 新增验证码校验
- 个人中心(修改密码,修改头像,查看自己的贴子,点赞)