update readme

main
lensfrex 2 months ago
parent d8ae27c679
commit 364ddf478d
Signed by: lensfrex
GPG Key ID: 0F69A0A2FBEE98A0
  1. 222
      README.md

@ -1,4 +1,224 @@
# 功能详情
# RD-Rev
## 运行手册
主要技术栈一览
- 前端
- 框架:Vue 3
- 组件库:Quasar
- 构建工具:Vite
- 后端
- Java 17
- 开发框架:Springboot 3
- ORM:Mybatis (Plus)
- 数据库:Postgresql
- NoSQL:Redis
- 运行部署
- 运行与部署:Docker
- 阿里云CDN(示例站点)
自行部署的示例站点: https://rd-rev.lensfrex.net
## 后端
后端运行比较简单,可以使用已经打包好的 jar 包,也可以[自行编译 jar 运行](#2-自行打包编译运行),还可以[使用 `docker compose` 来运行](#3-docker-compose)。
### 1. jar 包直接运行
相关数据库等配置已经配置好,直接运行即可,不用额外配置:
``` sh
java -jar ./radical-dreamers.jar
```
如确需修改配置,放置一份 `application.yml` 配置文件至 jar 文件同一目录下,即可覆盖原有配置,或者运行时添加参数(位于 jar 路径后) `--spring.config.location` 指定新的配置文件路径:
``` sh
java -jar ./radical-dreamers.jar --spring.config.location=./application.yml
```
以下是配置文件示例(可在代码中找到):
``` yaml
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl
mapper-locations: classpath*:/mapper/**/*.xml
logging:
level:
rd: debug
druid.sql.Statement: trace
pattern:
console: "%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:%wEx}"
file: "%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd'T'HH:mm:ss.SSSXXX}} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:%wEx}"
spring:
task:
execution:
pool:
core-size: 16
max-size: 32
queue-capacity: 128
keep-alive: 90s
devtools:
restart:
enabled: true
data:
redis:
client-name: neolaf
host: 127.0.0.1
port: 6379
password: Test2333!
database: 0
datasource:
driver-class-name: org.postgresql.Driver
url: jdbc:postgresql://127.0.0.1:5432/little_busters?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai
username: postgres
password: Test2333!
server:
address: 127.0.0.1
port: 8800
servlet:
context-path: /
sa-token:
token-name: auth-token
is-concurrent: true
rd:
WusthelperBaseUrl: https://wusthelper.wustlinghang.cn/mobileapi/v2
```
## 2. 自行打包编译运行
该方式运行过程与上文 jar 包直接运行相同,差别在于需要手动编译和打包。
编译打包的过程很简单:
``` sh
mvn clean package
```
完成后,编译产物位于target文件夹中,名为 `radical-dreamers.jar`
打包完成后,运行方式同上文。
## 3. Docker Compose
在构建 Docker 镜像前,需要先打包好 jar 文件,过程参考上文打包过程。
完成后,运行:
``` sh
docker compose up --build
```
构建镜像并运行,由于网络原因,镜像拉取可能会很吃力,请自备代理。
以下是 `docker-compose.yml` 的内容(可在代码中找到):
``` yaml
name: rd-srv-backend
services:
# 主服务
rd:
build:
context: .
dockerfile: Dockerfile
ports:
- "8800:8800"
environment:
spring.data.redis.host: redis
spring.data.redis.port: 6379
spring.datasource.url: jdbc:postgresql://db:5432/rdrev?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai
spring.datasource.username: postgres
spring.datasource.password: a7d929f76d45d13a4337f2d16f5634bc17e5b8b2
server.port: 8800
depends_on:
redis:
condition: service_started
db:
condition: service_healthy
networks:
- rd-network
# Postgresql
db:
image: postgres:14.12-alpine3.19
environment:
PGUSER: postgres
POSTGRES_USER: postgres
POSTGRES_DB: rdrev
POSTGRES_PASSWORD: a7d929f76d45d13a4337f2d16f5634bc17e5b8b2
volumes:
- ./docker:/docker-entrypoint-initdb.d/
networks:
- rd-network
healthcheck:
test: [ "CMD-SHELL", "pg_isready", "-d", "db_prod"]
interval: 10s
timeout: 60s
retries: 5
start_period: 5s
# Redis
redis:
image: redis
networks:
- rd-network
networks:
rd-network:
internal: false
```
可以参考该配置根据需求自行修改。
## 前端
### 1. 安装npm依赖:
``` sh
# 使用yarn
yarn
# 使用npm
npm install
```
### 2. 运行 dev server
修改 baseUrl 配置(可选,默认情况下由 vite dev server 进行代理转发至本机`127.0.0.1:8800`,本地开发运行可以不做修改)
修改前端源码文件夹中的`config.js`配置文件:
``` javascript
export default {
// backendBaseUrl: 'http://127.0.0.1:8800',
backendBaseUrl: '',
}
```
修改完成后,运行 dev server:
``` sh
# 使用yarn
yarn dev
# 使用npm
npm run dev
```
运行起来后,会自动打开浏览器进入首页。
## 功能详情
设定信息:
- 课程:一门课

Loading…
Cancel
Save