一个基于 Spring Boot3、MyBatis-Plus、MySQL、Redis、ElasticSearch、MongoDB、Docker、RabbitMQ 等技术栈实现的社区系统,采用主流的互联网技术架构、全新的UI设计、支持一键源码部署,拥有完整的文章&教程发布/搜索/评论/统计流程等。
这个版本是将原本技术派经过二次开发,将前端使用vue3重写,并且将后端技术栈升级到Spring Boot3之后的版本,同时对项目进行了一些优化,使得项目更加适合二次开发。
值得注意的是后端部分接口可能看起来有部分重复,这是因为兼容了直接使用原本Thymleaf中的实现,从而可以对比两种实现
- 前后端分离网址:http://www.xuyifei.site
- 技术派管理端源码:paicoding-admin
- Vue3前端重构的前端源码:现已合并到管理端项目中,但仍然是前后端分离模式。
- 项目仓库(GitHub):https://github.com/XuYi-fei/Coder-s-platform
- 项目仓库(码云):https://gitee.com/XuYi-fei/Coder-s-platform
- 前后端分离版本项目演示地址:http://www.xuyifei.site
- 项目仓库(GitHub):https://github.com/itwanger/paicoding-admin
- 项目仓库(码云):https://gitee.com/itwanger/paicoding-admin
- 项目演示地址:https://paicoding.com/admin-view
paicoding
├── paicoding-front -- Vue3实现的前端模块
├── paicoding-api -- 定义一些通用的枚举、实体类,定义 DO\DTO\VO 等
├── paicoding-core -- 核心工具/组件相关模块,如工具包 util, 通用的组件都放在这个模块(以包路径对模块功能进行拆分,如搜索、缓存、推荐等)
├── paicoding-service -- 服务模块,业务相关的主要逻辑,DB 的操作都在这里
├── paicoding-web -- Web模块、HTTP入口、项目启动入口,包括权限身份校验、全局异常处理等
资源配置都放在 paicoding-web
模块的资源路径下,通过maven的env进行环境选择切换
当前提供了四种开发环境
- resources-env/dev: 本地开发环境,也是默认环境
- resources-env/test: 测试环境
- resources-env/pre: 预发环境
- resources-env/prod: 生产环境
环境切换命令
# 如切换生产环境
mvn clean install -DskipTests=true -Pprod
- resources
- application.yml: 主配置文件入口
- application-config.yml: 全局的站点信息配置文件
- logback-spring.xml: 日志打印相关配置文件
- liquibase: 由liquibase进行数据库表结构管理
- resources-env
- xxx/application-dal.yml: 定义数据库相关的配置信息
- xxx/application-image.yml: 定义上传图片的相关配置信息
- xxx/application-web.yml: 定义web相关的配置信息
后端技术栈
工具 | 说明 | 官网 |
---|---|---|
IDEA | java开发工具 | https://www.jetbrains.com |
Webstorm | web开发工具 | https://www.jetbrains.com/webstorm |
Chrome | 浏览器 | https://www.google.com/intl/zh-CN/chrome |
PicPick | 图片处理工具 | https://picpick.app |
MarkText | markdown编辑器 | https://github.com/marktext/marktext |
curl | http终端请求 | https://curl.se |
Postman | API接口调试 | https://www.postman.com |
draw.io | 流程图、架构图绘制 | https://www.diagrams.net/ |
Axure | 原型图设计工具 | https://www.axure.com |
iTerm2 | mac终端 | https://iterm2.com |
windows terminal | win终端 | https://learn.microsoft.com/en-us/windows/terminal/install |
SwitchHosts | host管理 | https://github.com/oldj/SwitchHosts/releases |
工具 | 版本 | 下载 |
---|---|---|
jdk | 17+ | https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html |
maven | 3.5+ | https://maven.apache.org/ |
mysql | 8.0+ | https://www.mysql.com/downloads/ |
redis | 6.0+ | https://redis.io/download/ |
elasticsearch | 8.0.0+ | https://www.elastic.co/cn/downloads/elasticsearch |
nginx | 1.10+ | https://nginx.org/en/download.html |
rabbitmq | 3.12+ | https://www.rabbitmq.com/news.html |
ali-oss | 3.15.1 | https://help.aliyun.com/document_detail/31946.html |
git | 2.34.1 | http://github.com/ |
docker | 4.10.0+ | https://docs.docker.com/desktop/ |
let's encrypt | https证书 | https://letsencrypt.org/ |