Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

⭐️一款好用又强大的开源社区,附详细教程,包括Java、Spring、MySQL、Redis、微服务&分布式、消息队列、操作系统、计算机网络、数据结构与算法等计算机专业核心知识点。学编程,就上技术派😁。

Notifications You must be signed in to change notification settings

skill292/paicoding

Repository files navigation

技术派

一个基于 Spring Boot、MyBatis-Plus、MySQL、Redis、ElasticSearch、MongoDB、Docker、RabbitMQ 等技术栈实现的社区系统,采用主流的互联网技术架构、全新的UI设计、支持一键源码部署,拥有完整的文章&教程发布/搜索/评论/统计流程等,代码完全开源,没有任何二次封装,是一个非常适合二次开发/实战的现代化社区项目👍 。

配套服务

  1. 技术派首页:https://paicoding.com
  2. 技术派全套学习教程:https://paicoding.com/column 不仅会更新本项目的文档,还会持续更新 Java、Spring、MySQL、Redis、操作系统、计算机网络、数据结构与算法、微服务&分布式、消息队列等方面的硬核内容。我们的宗旨是:学编程,就上技术派😁。
  3. 技术派管理端,基于 React 实现:paicoding-admin
  4. 专属学习圈子:不走弯路,少采坑
  5. 项目交流:想要加群交流项目的朋友,可以加入楼仔技术交流群
  6. 码云仓库:https://gitee.com/itwanger/paicoding (国内访问速度更快)

项目介绍

技术派(paicoding)是一个前后端分离的 Java 社区实战项目,基于 SpringBoot+MyBatis-Plus 实现,采用 Docker 容器化部署。包括前台社区系统和后台管理系统。前台社区系统包括社区首页、文章推荐、文章搜索、文章发布、文章详情、优质教程、个人中心等模块;后台管理系统包括文章管理、教程管理、统计报表、权限菜单管理、设置等模块。

项目演示

前台社区系统

后台社区系统

架构图

系统架构图

业务架构图

模块介绍

开发进度

组织结构

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

配置文件说明

  • 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相关的配置信息

技术选型

后端技术栈

技术 说明 官网
Spring & SpringMVC Java全栈应用程序框架和WEB容器实现 https://spring.io/
SpringBoot Spring应用简化集成开发框架 https://spring.io/projects/spring-boot
mybatis-plus 数据库orm框架 https://baomidou.com/
mybatis PageHelper 数据库翻页插件 https://github.com/pagehelper/Mybatis-PageHelper
elasticsearch 近实时文本搜索 https://www.elastic.co/cn/elasticsearch/service
redis 内存数据存储 https://redis.io
rabbitmq 消息队列 https://www.rabbitmq.com
mongodb NoSql数据库 https://www.mongodb.com/
nginx 服务器 https://nginx.org
docker 应用容器引擎 https://www.docker.com
hikariCP 数据库连接 https://github.com/brettwooldridge/HikariCP
oss 对象存储 https://letsencrypt.org/
jwt jwt登录 https://jwt.io
lombok Java语言增强库 https://projectlombok.org
guava google开源的java工具集 https://github.com/google/guava
thymeleaf html5模板引擎 https://www.thymeleaf.org
swagger API文档生成工具 https://swagger.io
hibernate-validator 验证框架 hibernate.org/validator/
quick-media 多媒体处理 https://github.com/liuyueyi/quick-media
liquibase 数据库版本管理 https://www.liquibase.com
jackson json/xml处理 https://www.jackson.com
ip2region ip地址 https://github.com/zoujingli/ip2region

环境搭建

开发工具

工具 说明 官网
IDEA java开发工具 https://www.jetbrains.com
Webstorm web开发工具 https://www.jetbrains.com/webstorm
Chrome 浏览器 https://www.google.com/google_chrome/download
ScreenToGif gif录屏 https://www.screentogif.com
SniPaste 截图 https://www.snipaste.com
PicPick 图片处理工具 https://picpick.app
MarkText markdown编辑器 https://github.com/marktext/marktex
curl http终端请求 https://curl.se
Postman API接口调试 https://www.postman.com
draw.io 流程图、架构图绘制 https://www.diagrams.net/
Axure 原型图设计工具 https://www.axure.com/axure-rp10
navicat 数据库连接工具 https://www.navicat.com
DBeaver 免费开源的数据库连接工具 https://dbeaver.io
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 1.8+ https://www.oracle.com/java/technologies/downloads/#java8
maven 3.4+ https://maven.apache.org/
mysql 5.7+/8.0+ https://www.mysql.com/downloads/
redis 5.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.10.14+ https://www.rabbitmq.com/news.html
ali-oss 3.15.1 https://letsencrypt.org/
git 2.34.1 http://github.com/
docker 4.10.0+ https://docs.docker.com/desktop/
let's encrypt https证书 https://letsencrypt.org/

搭建步骤

本地部署教程

本地开发环境手把手教程

云服务器部署教程

环境搭建 & 基于源码的部署教程 服务器启动教程

公众号

微信搜索 楼仔 关注我们的原创公众号,后台回复「加群」即可加入技术交流群,有美团技术大佬、百度技术大佬、小米技术大佬,等你骚扰,学习不再走弯路。

公众号图片

许可证

Apache License 2.0

Copyright (c) 2022-2023 技术派(楼仔、沉默王二、一灰、小超)

About

⭐️一款好用又强大的开源社区,附详细教程,包括Java、Spring、MySQL、Redis、微服务&分布式、消息队列、操作系统、计算机网络、数据结构与算法等计算机专业核心知识点。学编程,就上技术派😁。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 96.6%
  • SCSS 2.6%
  • Other 0.8%

AltStyle によって変換されたページ (->オリジナル) /