This version carries out secondary development for the technical school, rewriting the user-side front-end UI using Vue3, and upgrading the back-end to the Spring Boot 3 version. Golfers who like Vue3 or Spring Boot 3 versions can check out this branch.
paicoding
├── paicoding-api -- 定义一些通用的枚举、实体类,定义 DODTOVO 等
├── paicoding-core -- 核心工具/组件相关模块,如工具包 util, 通用的组件都放在这个模块(以包路径对模块功能进行拆分,如搜索、缓存、推荐等)
├── paicoding-service -- 服务模块,业务相关的主要逻辑,DB 的操作都在这里
├── paicoding-ui -- HTML 前端资源(包括 JavaScript、CSS、Thymeleaf 等)
├── paicoding-web -- Web模块、HTTP入口、项目启动入口,包括权限身份校验、全局异常处理等
The resource configuration is placed under the resource path of the paicoding-web
module, and the environment is selected and switched through maven's env.
Currently four development environments are provided
Environment switching command
# 如切换生产环境
mvn clean install -DskipTests=true -Pprod
Front-end engineering structure description
Backend technology stack
technology | illustrate | Official website |
---|---|---|
Spring & SpringMVC | Java full stack application framework and WEB container implementation | https://spring.io/ |
SpringBoot | Spring application simplifies integrated development framework | https://spring.io/projects/spring-boot |
mybatis | Database orm framework | https://mybatis.org |
mybatis-plus | Database orm framework | https://baomidou.com/ |
mybatis PageHelper | Database paging plug-in | https://github.com/pagehelper/Mybatis-PageHelper |
elasticsearch | Near real-time text search | https://www.elastic.co/cn/elasticsearch/service |
redis | In-memory data storage | https://redis.io |
rabbitmq | message queue | https://www.rabbitmq.com |
mongodb | NoSQL database | https://www.mongodb.com/ |
nginx | server | https://nginx.org |
docker | application container engine | https://www.docker.com |
hikariCP | Database connection | https://github.com/brettwooldridge/HikariCP |
oss | object storage | https://help.aliyun.com/document_detail/31883.html |
https | Certificate | https://letsencrypt.org/ |
jwt | jwt login | https://jwt.io |
lombok | Java language enhancement library | https://projectlombok.org |
guava | google open source java toolset | https://github.com/google/guava |
thymeleaf | html5 template engine | https://www.thymeleaf.org |
swagger | API documentation generation tool | https://swagger.io |
hibernate-validator | Validation framework | hibernate.org/validator/ |
quick-media | multimedia processing | https://github.com/liuyueyi/quick-media |
liquibase | Database version management | https://www.liquibase.com |
jackson | json/xml processing | https://www.jackson.com |
ip2region | IP address | https://github.com/zoujingli/ip2region |
websocket | long connection | https://docs.spring.io/spring/reference/web/websocket.html |
sensitive-word | Sensitive words | https://github.com/houbb/sensitive-word |
chatgpt | chatgpt | https://openai.com/blog/chatgpt |
iFlytek Spark | iFlytek Spark large model | https://www.xfyun.cn/doc/spark/Web.html |
There are a total of 120+ technical tutorials, and 20 of them have been sorted out for everyone to learn for free.
tool | illustrate | Official website |
---|---|---|
IDEA | java development tools | https://www.jetbrains.com |
Webstorm | web development tools | https://www.jetbrains.com/webstorm |
Chrome | Browser | https://www.google.com/intl/zh-CN/chrome |
ScreenToGif | gif screen recording | https://www.screentogif.com |
SniPaste | screenshot | https://www.snipaste.com |
PicPick | Image processing tools | https://picpick.app |
MarkText | markdown editor | https://github.com/marktext/marktext |
curl | http terminal request | https://curl.se |
Postman | API interface debugging | https://www.postman.com |
draw.io | Flow chart and architecture diagram drawing | https://www.diagrams.net/ |
Axure | Prototype design tool | https://www.axure.com |
navicat | Database connection tool | https://www.navicat.com |
DBeaver | Free and open source database connection tool | https://dbeaver.io |
iTerm2 | mac terminal | https://iterm2.com |
windows terminal | win terminal | https://learn.microsoft.com/en-us/windows/terminal/install |
SwitchHosts | host management | https://github.com/oldj/SwitchHosts/releases |
tool | Version | download |
---|---|---|
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://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 certificate | https://letsencrypt.org/ |
Local development environment step-by-step tutorial
Environment setup & source code-based deployment tutorial Server startup tutorial
The technical group has received multiple Licenses from Jetbrains (click here for details) and has been assigned to active developers of the project. We are very grateful to Jetbrains for its support of the open source community.
The first PDF version of the open source knowledge base "Second Brother's Java Advanced Path" with 13,000+ stars on GitHub is finally here! Including Java basic syntax, arrays & strings, OOP, collection framework, Java IO, exception handling, new Java features, network programming, NIO, concurrent programming, JVM, etc., totaling more than 320,000 words, which can be said to be easy to understand. Funny and humorous... Details: Awesome, Java tutorial with 13,000+ stars on GitHub
Search Silent King Er on WeChat or scan the QR code below to follow Er Ge’s original public account and reply 222 to get it for free.
Apache License 2.0
Copyright (c) 2022-2024 Technical School (Lou Zai, Silent Wang Er, Yi Hui, Xiao Chao, Xiao Hui Fei)