一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!
一、开源项目简介
一个基于 Spring Boot、MyBatis-Plus、MySQL、Redis、ElasticSearch、MongoDB、Docker、RabbitMQ 等技术栈实现的社区系统,采用主流的互联网技术架构、全新的UI设计、支持一键源码部署,拥有完整的文章&教程发布/搜索/评论/统计流程等,代码完全开源,没有任何二次封装,是一个非常适合二次开发/实战的现代化社区项目 。
使用Apache-2.0开源协议
一个基于 Spring Boot、MyBatis-Plus、MySQL、Redis、ElasticSearch、MongoDB、Docker、RabbitMQ 等技术栈实现的社区系统,采用主流的互联网技术架构、全新的UI设计、支持一键源码部署,拥有完整的文章&教程发布/搜索/评论/统计流程等,代码完全开源,没有任何二次封装,是一个非常适合二次开发/实战的现代化社区项目 。
五、技术选型
paicoding
├── paicoding-api -- 定义一些通用的枚举、实体类,定义 DO\DTO\VO 等
├── paicoding-core -- 核心工具/组件相关模块,如工具包 util, 通用的组件都放在这个模块(以包路径对模块功能进行拆分,如搜索、缓存、推荐等)
├── paicoding-service -- 服务模块,业务相关的主要逻辑,DB 的操作都在这里
├── paicoding-ui -- HTML 前端资源(包括 JavaScript、CSS、Thymeleaf 等)
├── 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
resourcesapplication.yml: 主配置文件入口application-config.yml: 全局的站点信息配置文件logback-spring.xml: 日志打印相关配置文件liquibase: 由liquibase进行数据库表结构管理
resources-envxxx/application-dal.yml: 定义数据库相关的配置信息xxx/application-image.yml: 定义上传图片的相关配置信息xxx/application-web.yml: 定义web相关的配置信息
后端技术栈
技术 |
说明 |
Spring & SpringMVC |
Java全栈应用程序框架和WEB容器实现 |
SpringBoot |
Spring应用简化集成开发框架 |
mybatis |
数据库orm框架 |
mybatis-plus |
数据库orm框架 |
mybatis PageHelper |
数据库翻页插件 |
elasticsearch |
近实时文本搜索 |
redis |
内存数据存储 |
rabbitmq |
消息队列 |
mongodb |
NoSql数据库 |
nginx |
服务器 |
docker |
应用容器引擎 |
hikariCP |
数据库连接 |
oss |
对象存储 |
https |
证书 |
jwt |
jwt登录 |
lombok |
Java语言增强库 |
guava |
google开源的java工具集 |
thymeleaf |
html5模板引擎 |
swagger |
API文档生成工具 |
hibernate-validator |
验证框架 |
quick-media |
多媒体处理 |
liquibase |
数据库版本管理 |
jackson |
json/xml处理 |
ip2region |
ip地址 |
websocket |
长连接 |
sensitive-word |
敏感词 |
chatgpt |
chatgpt |
讯飞星火 |
讯飞星火大模型 |
工具 |
说明 |
IDEA |
java开发工具 |
Webstorm |
web开发工具 |
Chrome |
浏览器 |
ScreenToGif |
gif录屏 |
SniPaste |
截图 |
PicPick |
图片处理工具 |
MarkText |
markdown编辑器 |
curl |
http终端请求 |
Postman |
API接口调试 |
draw.io |
流程图、架构图绘制 |
Axure |
原型图设计工具 |
navicat |
数据库连接工具 |
DBeaver |
免费开源的数据库连接工具 |
iTerm2 |
mac终端 |
windows terminal |
win终端 |
SwitchHosts |
host管理 |
工具 |
版本 |
jdk |
1.8+ |
maven |
3.4+ |
mysql |
5.7+/8.0+ |
redis |
5.0+ |
elasticsearch |
8.0.0+ |
nginx |
1.10+ |
rabbitmq |
3.10.14+ |
ali-oss |
3.15.1 |
git |
2.34.1 |
docker |
4.10.0+ |
let's encrypt |
https证书 |
本地开发环境手把手教程
云服务器部署教程
环境搭建 & 基于源码的部署教程 服务器启动教程
详细内容请查看 README.md 文档
六、源码地址
访问一飞开源:https://code.exmay.com/