基本介绍
本文包含需要对此进行二次开发的一些基本介绍。
一 开发技能要点
- 本项目采用前后端分离的模式。
- 本项目配置了
docker-compose
,可通过其进行开发环境的配置和部署到生产环境中。
1.1 前端涉及到的内容
主要包:
- React v18 https://reactjs.org/
- Next.js v13 https://nextjs.org/
- Arco Design v2 https://arco.design/
其它引用的包可通过前端项目 package.json
文件进行查看。
1.2 后端涉及到的内容
- Golang https://go.dev/
- go-kratos https://go-kratos.dev/
- MySQL
- SeaweedFS https://github.com/seaweedfs/seaweedfs
二 相关目录说明
api/interface
定义了用户相关接口。app/interface
为用户端相关业务逻辑的实现。docs
文档项目。deployments
部署相关的docker文件配置。tools/gen
CRUD 代码生成工具,可以便捷地生成biz、data目录的标准http方法代码。tools/protoc-gen-go-http
在原有 go-kratos 的基础上增加通过yaml文件指定接口所使用的中间件。web
前端项目。data
目录,重要!重要!重要! 通过docker compose
启动后生成,为 docker 数据库相关数据的持久化。注意 !注意!注意! 使用系统所有数据均储存在此目录下。
三 API 使用
由于后端采用了 protobuf
来生成 HTTP,您可在 api/interface/v1
目录获取对应的接口文件。
涉及到批量倒数据的,可以通过 protobuf
的相关应用,使用您熟悉的语言,去批量处理数据,如批量上传题目的功能。