使用Clean Architecture、DDD思想,实现基本的账号登录、注册接口
- docker
- golang
- gow (go install github.com/mitranim/gow@latest)
make serve启动本地测试服务make clean清除docker容器make test执行测试make test-e2e执行 http api e2e 测试
VSCode可以使用test/api.http测试脚本对本地启动好的服务进行测试,需要安装REST Client插件
服务器二进制命令行启动代码
启动组装,负责数据库、迁移、OAuth客户端、依赖注入和http服务生命周期
系统配置
表现层,http、grpc、定时任务、队列consumer等
业务逻辑层
表现层所有的请求都由app/handler内封装的各种handler来处理
多个handler之间共用的逻辑被封装为相应的app/internal/service,service只应该被handler调用,不应该被直接使用
领域逻辑
基础设施,实现/app/adapter内约定的接口行为
各种不包含具体业务逻辑的工具函数、对象、接口
代码不应该直接放到pkg package下面,应该被放到pkg内的子package内,避免pkg成为一个什么都能放的筐