{"id":13608007,"url":"https://github.com/itwanger/paicoding","last_synced_at":"2025-05-14T02:04:51.363Z","repository":{"id":73356693,"uuid":"511133045","full_name":"itwanger/paicoding","owner":"itwanger","description":"⭐️一款好用又强大的开源社区，基于 Spring Boot、MyBatis-Plus、MySQL、Redis、ElasticSearch、MongoDB、Docker、RabbitMQ 等主流技术栈，附详细教程，包括Java、Spring、MySQL、Redis、微服务\u0026分布式、消息队列等核心知识点。学编程，就上技术派😁。","archived":false,"fork":false,"pushed_at":"2025-04-17T12:12:54.000Z","size":18975,"stargazers_count":2510,"open_issues_count":20,"forks_count":485,"subscribers_count":25,"default_branch":"main","last_synced_at":"2025-04-18T00:31:48.377Z","etag":null,"topics":["java","mybatis","mysql","redis","spring","springboot"],"latest_commit_sha":null,"homepage":"https://paicoding.com","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itwanger.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"License","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-07-06T12:43:21.000Z","updated_at":"2025-04-17T12:12:58.000Z","dependencies_parsed_at":"2023-10-10T15:42:10.208Z","dependency_job_id":"e24ce794-791e-4ebd-804a-614b8b6eabf3","html_url":"https://github.com/itwanger/paicoding","commit_stats":{"total_commits":1031,"total_committers":15,"mean_commits":68.73333333333333,"dds":0.5809893307468477,"last_synced_commit":"3ae35a41e7a970886ba49a0c54dbb476ff02dcbc"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itwanger%2Fpaicoding","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itwanger%2Fpaicoding/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itwanger%2Fpaicoding/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itwanger%2Fpaicoding/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itwanger","download_url":"https://codeload.github.com/itwanger/paicoding/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254052670,"owners_count":22006716,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","mybatis","mysql","redis","spring","springboot"],"created_at":"2024-08-01T19:01:23.506Z","updated_at":"2025-05-14T02:04:51.327Z","avatar_url":"https://github.com/itwanger.png","language":"Java","readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://paicoding.com/\"\u003e\n    \u003cimg src=\"https://cdn.tobebetterjavaer.com/images/README/1681354262213.png\" alt=\"技术派，让技术也能很好玩\" width=\"400\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n一个基于 Spring Boot、MyBatis-Plus、MySQL、Redis、ElasticSearch、MongoDB、Docker、RabbitMQ 等技术栈实现的社区系统，采用主流的互联网技术架构、全新的UI设计、支持一键源码部署，拥有完整的文章\u0026教程发布/搜索/评论/统计流程等，代码完全开源，没有任何二次封装，是一个非常适合二次开发/实战的现代化社区项目👍 。\n\u003cbr\u003e\u003cbr\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://paicoding.com/article/detail/15\"\u003e\u003cimg src=\"https://img.shields.io/badge/技术派-学习圈子-brightgreen.svg?style=for-the-badge\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://paicoding.com/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/技术派-首页-critical?style=for-the-badge\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/itwanger/paicoding-admin\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/技术派-管理端-yellow.svg?style=for-the-badge\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://gitee.com/itwanger/paicoding\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/技术派-码云地址-blue.svg?style=for-the-badge\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\n## 一、配套服务\n \n1. **技术派网址**：[https://paicoding.com](https://paicoding.com)\n2. **技术派教程**：[https://paicoding.com/column](https://paicoding.com/column) 目前已更新高并发手册、JVM 手册、Java 并发编程手册、二哥的 Java 进阶之路，以及技术派部分免费教程。我们的宗旨是：**学编程，就上技术派**😁\n3. **技术派管理端源码**：[paicoding-admin](https://github.com/itwanger/paicoding-admin)\n4. **技术派专属学习圈子**：[不走弯路，少采坑，附 120 篇技术派全套教程](https://paicoding.com/article/detail/17) \n5. **派聪明AI助手**：AI 时代，怎能掉队，欢迎体验 [技术派的派聪明 AI 助手](https://paicoding.com/chat)\n6. **码云仓库**：[https://gitee.com/itwanger/paicoding](https://gitee.com/itwanger/paicoding) （国内访问速度更快）\n\n## 二、项目介绍\n\n### 项目演示\n\n#### 前台社区系统\n\n- 项目仓库（GitHub）：[https://github.com/itwanger/paicoding](https://github.com/itwanger/paicoding)\n- 项目仓库（码云）：[https://gitee.com/itwanger/paicoding](https://gitee.com/itwanger/paicoding)\n- 项目演示地址：[https://paicoding.com](https://paicoding.com)\n\n![技术派首页](https://cdn.tobebetterjavaer.com/images/20230602/d7d341c557e7470d9fb41245e5bb4209.png)\n\n#### Vue 版前后端分离版本\n\n这个版本对技术派进行了二次开发，将用户端的前端 UI 使用 Vue3 重写，并且将后端升级到 Spring Boot 3 版本，喜欢 Vue3 或者 Spring Boot 3 版本的球友可以看看这个分支。\n\n- 项目仓库（GitHub）：[https://github.com/itwanger/paicoding/tree/springboot3%26vue3](https://github.com/itwanger/paicoding/tree/springboot3%26vue3)\n- 项目仓库（码云）：[https://gitee.com/itwanger/paicoding/tree/springboot3%26vue3](https://gitee.com/itwanger/paicoding/tree/springboot3%26vue3)\n- 项目演示地址（球友小灰飞）：[https://www.xuyifei.site/](https://www.xuyifei.site/)\n\n![编程汇vue3+Spring Boot3](https://cdn.tobebetterjavaer.com/paicoding/README-1799f2f840fc4687a1cda4486782a07a.png)\n\n\n#### 后台社区系统\n\n- 项目仓库（GitHub）：[https://github.com/itwanger/paicoding-admin](https://github.com/itwanger/paicoding-admin)\n- 项目仓库（码云）：[https://gitee.com/itwanger/paicoding-admin](https://gitee.com/itwanger/paicoding-admin)\n- 项目演示地址：[https://paicoding.com/admin-view](https://paicoding.com/admin/)\n\n![技术派后台管理系统](https://cdn.tobebetterjavaer.com/images/20230602/83139e13a4784c0fbf0adedd8e287c5b.png)\n\nadmin 端部署写在了 paicoding-admin 项目的 README.md 中，请注意查看⚠️。\n\n#### 代码展示\n\n![技术派源码结构](https://cdn.tobebetterjavaer.com/images/20231205/b8f76cb8e09f4ebca84b3ddd3b61c13e.png)\n\n\n### 架构图\n\n#### 系统架构图\n\n![技术派系统架构图](https://cdn.tobebetterjavaer.com/paicoding/3da165adfcad0f03d40e13e941ed4afb.png)\n\n\n#### 业务架构图\n\n![技术派业务架构图](https://cdn.tobebetterjavaer.com/paicoding/main/paicoding-business.jpg)\n\n### 组织结构\n\n```\npaicoding\n├── paicoding-api -- 定义一些通用的枚举、实体类，定义 DO\\DTO\\VO 等\n├── paicoding-core -- 核心工具/组件相关模块，如工具包 util， 通用的组件都放在这个模块（以包路径对模块功能进行拆分，如搜索、缓存、推荐等）\n├── paicoding-service -- 服务模块，业务相关的主要逻辑，DB 的操作都在这里\n├── paicoding-ui -- HTML 前端资源（包括 JavaScript、CSS、Thymeleaf 等）\n├── paicoding-web -- Web模块、HTTP入口、项目启动入口，包括权限身份校验、全局异常处理等\n```\n\n#### 环境配置说明\n\n资源配置都放在 `paicoding-web` 模块的资源路径下，通过maven的env进行环境选择切换\n\n当前提供了四种开发环境\n\n- resources-env/dev: 本地开发环境，也是默认环境\n- resources-env/test: 测试环境\n- resources-env/pre: 预发环境\n- resources-env/prod: 生产环境\n\n环境切换命令\n\n```bash\n# 如切换生产环境\nmvn clean install -DskipTests=true -Pprod\n```\n\n#### 配置文件说明\n\n- resources\n  - application.yml: 主配置文件入口\n  - application-config.yml: 全局的站点信息配置文件\n  - logback-spring.xml: 日志打印相关配置文件\n  - liquibase: 由liquibase进行数据库表结构管理\n- resources-env\n  - xxx/application-dal.yml: 定义数据库相关的配置信息\n  - xxx/application-image.yml: 定义上传图片的相关配置信息\n  - xxx/application-web.yml: 定义web相关的配置信息\n\n[前端工程结构说明](docs/前端工程结构说明.md)\n\n### 技术选型\n\n后端技术栈\n\n|         技术          | 说明                   | 官网                                                                                                 |\n|:-------------------:|----------------------|----------------------------------------------------------------------------------------------------|\n| Spring \u0026 SpringMVC  | Java全栈应用程序框架和WEB容器实现 | [https://spring.io/](https://spring.io/)                                                           |\n|     SpringBoot      | Spring应用简化集成开发框架     | [https://spring.io/projects/spring-boot](https://spring.io/projects/spring-boot)                   |\n|       mybatis       | 数据库orm框架             | [https://mybatis.org](https://mybatis.org)                                                       |\n|    mybatis-plus     | 数据库orm框架             | [https://baomidou.com/](https://baomidou.com/)                                                     |\n| mybatis PageHelper  | 数据库翻页插件              | [https://github.com/pagehelper/Mybatis-PageHelper](https://github.com/pagehelper/Mybatis-PageHelper) |\n|    elasticsearch    | 近实时文本搜索              | [https://www.elastic.co/cn/elasticsearch/service](https://www.elastic.co/cn/elasticsearch/service) |\n|        redis        | 内存数据存储               | [https://redis.io](https://redis.io)                                                               |\n|      rabbitmq       | 消息队列                 | [https://www.rabbitmq.com](https://www.rabbitmq.com)                                               |\n|       mongodb       | NoSql数据库             | [https://www.mongodb.com/](https://www.mongodb.com/)                                               |\n|        nginx        | 服务器                  | [https://nginx.org](https://nginx.org)                                                             |\n|       docker        | 应用容器引擎               | [https://www.docker.com](https://www.docker.com)                                                   |\n|      hikariCP       | 数据库连接                | [https://github.com/brettwooldridge/HikariCP](https://github.com/brettwooldridge/HikariCP)         |\n|         oss         | 对象存储                 | [https://help.aliyun.com/document_detail/31883.html](https://help.aliyun.com/document_detail/31883.html)                                               |\n|        https        | 证书                   | [https://letsencrypt.org/](https://letsencrypt.org/)                                               |\n|         jwt         | jwt登录                | [https://jwt.io](https://jwt.io)                                                                   |\n|       lombok        | Java语言增强库            | [https://projectlombok.org](https://projectlombok.org)                                             |\n|        guava        | google开源的java工具集     | [https://github.com/google/guava](https://github.com/google/guava)                                 |\n|      thymeleaf      | html5模板引擎            | [https://www.thymeleaf.org](https://www.thymeleaf.org)                                             |\n|       swagger       | API文档生成工具            | [https://swagger.io](https://swagger.io)                                                           |\n| hibernate-validator | 验证框架                 | [hibernate.org/validator/](hibernate.org/validator/)                                               |\n|     quick-media     | 多媒体处理                | [https://github.com/liuyueyi/quick-media](https://github.com/liuyueyi/quick-media)                 |\n|      liquibase      | 数据库版本管理              | [https://www.liquibase.com](https://www.liquibase.com)                                             |\n|       jackson       | json/xml处理           | [https://www.jackson.com](https://www.jackson.com)                                                 |\n|      ip2region      | ip地址                 | [https://github.com/zoujingli/ip2region](https://github.com/zoujingli/ip2region)                   |\n|      websocket      | 长连接                  | [https://docs.spring.io/spring/reference/web/websocket.html](https://docs.spring.io/spring/reference/web/websocket.html)                   |\n|      sensitive-word      | 敏感词                  | [https://github.com/houbb/sensitive-word](https://github.com/houbb/sensitive-word)                   |\n|       chatgpt       | chatgpt              | [https://openai.com/blog/chatgpt](https://openai.com/blog/chatgpt)                   |\n|        讯飞星火         | 讯飞星火大模型              | [https://www.xfyun.cn/doc/spark/Web.html](https://www.xfyun.cn/doc/spark/Web.html#_1-%E6%8E%A5%E5%8F%A3%E8%AF%B4%E6%98%8E)                   |\n\n## 三、技术派教程\n\n技术派教程共 120+ 篇，从中整理出 20 篇，供大家免费学习。\n- [（🌟 新人必看）技术派系统架构\u0026功能模块一览](https://paicoding.com/article/detail/15)\n- [（🌟 新人必看）小白如何学习技术派](https://paicoding.com/article/detail/366)\n- [（🌟 新人必看）如何将技术派写入简历](https://paicoding.com/article/detail/373)\n- [（🌟 新人必看）技术派架构方案设计](https://paicoding.com/column/6/5)\n- [（🌟 新人必看）技术派技术方案设计](https://paicoding.com/article/detail/208)\n- [（🌟 新人必看）技术派项目管理流程](https://paicoding.com/article/detail/445)\n- [（🌟 新人必看）技术派MVC分层架构](https://paicoding.com/article/detail/446)\n- [（🌟 新人必看）技术派项目工程搭建手册](https://paicoding.com/article/detail/459)\n- [（👍 强烈推荐）技术派微信公众号自动登录](https://paicoding.com/article/detail/448)\n- [（👍 强烈推荐）技术派微信扫码登录实现](https://paicoding.com/article/detail/453)\n- [（👍 强烈推荐）技术派Session/Cookie身份验证识别](https://paicoding.com/article/detail/449)\n- [（👍 强烈推荐）技术派Mysql/Redis缓存一致性](https://paicoding.com/column/6/3)\n- [（👍 强烈推荐）技术派Redis实现用户活跃排行榜](https://paicoding.com/article/detail/454)\n- [（👍 强烈推荐）技术派消息队列RabbitMQ](https://paicoding.com/column/6/2)\n- [（👍 强烈推荐）技术派消息队列RabbitMQ连接池](https://paicoding.com/column/6/1)\n- [（👍 强烈推荐）技术派消息队列Kafka](https://paicoding.com/article/detail/460)\n- [（👍 强烈推荐）技术派Cancal实现MySQL和ES同步](https://paicoding.com/column/6/8)\n- [（👍 强烈推荐）技术派ES实现查询](https://paicoding.com/article/detail/341)\n- [（👍 强烈推荐）技术派定时任务实现](https://paicoding.com/article/detail/457)\n- [（👍 扬帆起航）送给坚持到最后的自己，一起杨帆起航](https://paicoding.com/article/detail/447)\n\n\n## 四、环境搭建\n\n### 开发工具\n\n|        工具        | 说明           | 官网                                                                                                           | \n|:----------------:|--------------|--------------------------------------------------------------------------------------------------------------|\n|       IDEA       | java开发工具     | [https://www.jetbrains.com](https://www.jetbrains.com)                                                       |\n|     Webstorm     | web开发工具      | [https://www.jetbrains.com/webstorm](https://www.jetbrains.com/webstorm)                                     |\n|      Chrome      | 浏览器          | [https://www.google.com/intl/zh-CN/chrome](https://www.google.com/intl/zh-CN/chrome)                         |\n|   ScreenToGif    | gif录屏        | [https://www.screentogif.com](https://www.screentogif.com)                                                   |\n|     SniPaste     | 截图           | [https://www.snipaste.com](https://www.snipaste.com)                                                         |\n|     PicPick      | 图片处理工具       | [https://picpick.app](https://picpick.app)                                                                   |\n|     MarkText     | markdown编辑器  | [https://github.com/marktext/marktext](https://github.com/marktext/marktext)                                 |\n|       curl       | http终端请求     | [https://curl.se](https://curl.se)                                                                           |\n|     Postman      | API接口调试      | [https://www.postman.com](https://www.postman.com)                                                           |\n|     draw.io      | 流程图、架构图绘制    | [https://www.diagrams.net/](https://www.diagrams.net/)                                                       |\n|      Axure       | 原型图设计工具      | [https://www.axure.com](https://www.axure.com)                                                     |\n|     navicat      | 数据库连接工具      | [https://www.navicat.com](https://www.navicat.com)                                                           |\n|     DBeaver      | 免费开源的数据库连接工具 | [https://dbeaver.io](https://dbeaver.io)                                                                     |\n|      iTerm2      | mac终端        | [https://iterm2.com](https://iterm2.com)                                                                     |\n| windows terminal | win终端        | [https://learn.microsoft.com/en-us/windows/terminal/install](https://learn.microsoft.com/en-us/windows/terminal/install) |\n|   SwitchHosts    | host管理       | [https://github.com/oldj/SwitchHosts/releases](https://github.com/oldj/SwitchHosts/releases)                 |\n\n\n### 开发环境\n\n|      工具       | 版本        | 下载                                                                                                                     |\n|:-------------:|:----------|------------------------------------------------------------------------------------------------------------------------|\n|      jdk      | 1.8+      | [https://www.oracle.com/java/technologies/downloads/#java8](https://www.oracle.com/java/technologies/downloads/#java8) |\n|     maven     | 3.4+      | [https://maven.apache.org/](https://maven.apache.org/)                                                                 |\n|     mysql     | 5.7+/8.0+ | [https://www.mysql.com/downloads/](https://www.mysql.com/downloads/)                                                   |\n|     redis     | 5.0+      | [https://redis.io/download/](https://redis.io/download/)                                                               |\n| elasticsearch | 8.0.0+    | [https://www.elastic.co/cn/downloads/elasticsearch](https://www.elastic.co/cn/downloads/elasticsearch)                 |\n|     nginx     | 1.10+     | [https://nginx.org/en/download.html](https://nginx.org/en/download.html)                                               |\n|   rabbitmq    | 3.10.14+  | [https://www.rabbitmq.com/news.html](https://www.rabbitmq.com/news.html)                                               |\n|    ali-oss    | 3.15.1    | [https://help.aliyun.com/document_detail/31946.html](https://help.aliyun.com/document_detail/31946.html)               |\n|      git      | 2.34.1    | [http://github.com/](http://github.com/)                                                                               |\n|    docker     | 4.10.0+   | [https://docs.docker.com/desktop/](https://docs.docker.com/desktop/)                                                   |\n| let's encrypt | https证书   | [https://letsencrypt.org/](https://letsencrypt.org/)                                                                   |\n\n### 搭建步骤\n\n#### 本地部署教程\n\n\u003e [本地开发环境手把手教程](docs/本地开发环境配置教程.md)\n\n### 云服务器部署教程\n\n\u003e [环境搭建 \u0026 基于源码的部署教程](docs/安装环境.md)\n\u003e [服务器启动教程](docs/服务器启动教程.md)\n\n## 五、友情链接\n\n- [toBeBetterjavaer](https://github.com/itwanger/toBeBetterJavaer) ：一份通俗易懂、风趣幽默的Java学习指南，内容涵盖Java基础、Java并发编程、Java虚拟机、Java企业级开发、Java面试等核心知识点。学Java，就认准二哥的Java进阶之路😄\n- [paicoding-admin](https://github.com/itwanger/paicoding-admin) ：🚀🚀🚀 paicoding-admin，技术派管理端，基于 React18、React-Router v6、React-Hooks、Redux、TypeScript、Vite3、Ant-Design 5.x、Hook Admin、ECharts 的一套社区管理系统，够惊艳哦。\n\n## 六、鸣谢\n\n技术派收到了 [Jetbrains](https://jb.gg/OpenSourceSupport) 多份 Licenses（详情戳 [这里](https://paicoding.com/article/detail/331) ），并已分配给项目 [活跃开发者](https://github.com/itwanger/paicoding/graphs/contributors) ，非常感谢 Jetbrains 对开源社区的支持。\n\n![JetBrains Logo (Main) logo](https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.svg)\n\n\n## 七、star 趋势图\n\n[![Star History Chart](https://api.star-history.com/svg?repos=itwanger/paicoding\u0026type=Date)](https://star-history.com/#itwanger/paicoding\u0026Date)\n\n## 八、公众号\n\nGitHub 上标星 13000+ 的开源知识库《 [二哥的 Java 进阶之路](https://github.com/itwanger/toBeBetterJavaer) 》第一版 PDF 终于来了！包括Java基础语法、数组\u0026字符串、OOP、集合框架、Java IO、异常处理、Java 新特性、网络编程、NIO、并发编程、JVM等等，共计 32 万余字，可以说是通俗易懂、风趣幽默……详情戳：[太赞了，GitHub 上标星 13000+ 的 Java 教程](https://javabetter.cn/overview/)\n\n微信搜 **沉默王二** 或扫描下方二维码关注二哥的原创公众号，回复 **222** 即可免费领取。\n\n![沉默王二公众号](https://cdn.tobebetterjavaer.com/tobebetterjavaer/images/gongzhonghao.png)\n\n## 九、许可证\n\n[Apache License 2.0](https://github.com/itwanger/paicoding/edit/main/README.md)\n\nCopyright (c) 2022-2024 技术派（楼仔、沉默王二、一灰、小超、小灰飞）\n\n","funding_links":[],"categories":["Projects Using MyBatis-Plus"],"sub_categories":["Tutorials"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitwanger%2Fpaicoding","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitwanger%2Fpaicoding","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitwanger%2Fpaicoding/lists"}