跳到主要内容

基本介绍

本文包含需要对此进行二次开发的一些基本介绍。

一 开发技能要点

  1. 本项目采用前后端分离的模式。
  2. 本项目配置了 docker-compose,可通过其进行开发环境的配置和部署到生产环境中。

1.1 前端涉及到的内容

主要包:

  1. React v18 https://reactjs.org/
  2. Next.js v13 https://nextjs.org/
  3. Arco Design v2 https://arco.design/

其它引用的包可通过前端项目 package.json 文件进行查看。

1.2 后端涉及到的内容

  1. Golang https://go.dev/
  2. go-kratos https://go-kratos.dev/
  3. MySQL
  4. 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 的相关应用,使用您熟悉的语言,去批量处理数据,如批量上传题目的功能。