PKUToDo后端部分
开发工具、环境和技术栈都是目前用到的,后续可继续添加
开发工具
开发环境
技术栈
项目结构
edu.pku.pkutodobackend
├── bo: 业务对象类,用于封装业务逻辑处理所需的数据
├── config: 配置类
├── controller: 控制器类,处理HTTP请求并将请求分发给相应的服务层处理
├── dao: 数据访问对象目录,用于存放与数据库交互的接口。用于较复杂的自定义查询
├── dto: 数据传输对象目录, 用户不同层之间的数据传输
├── enums: 枚举类型目录,存放枚举类型
├── filter: 过滤器类
├── mapper: 映射器目录,存放Mapper接口和SQL映射文件(resources/edu.pku.pkutodobackend.mapper),用于简单的单表查询
├── model: 模型类目录,通常存放实体类,即与数据库表结构对应的JavaBean
├── service: 业务逻辑层目录,存放实现业务逻辑的服务类
├── utils: 工具类目录
├── VO: 前端展示层实体类
Done
- 根据openapi.yaml文档自动生成controller接口、Service接口、DTO类以及APIUtils工具类。
原始生成命令mvn clean generate-sources将controller接口、delegate接口和APIUtils工具类全都放在了controller下,分层不够清晰,因此写了一个脚本(/document/api/gen.sh)将生成的文件放到各自应属的文件夹。在项目根目录下执行./document/api/gen.sh可生成层次更清晰的代码框架。
- 实现/user接口
- 初步跑通/events接口
- 完成服务器部署
ToDo
- 完善登录、注册、事件同步的详细设计文档
- /events接口限流
- 目前/events接口仅能跑通,不保证数据准确性,比如时间(LocalDate,LocalTime, OffsetDateTime等)、null值的传输问题需要解决
- 简化EventUtil工具类
- 因为要支持多设备,需要修改目前的登录和注册逻辑