mkdir homework && cd homework初始化
go mod init homework安装gin依赖
go get -u github.com/gin-gonic/gin安装grm依赖
go get -u gorm.io/gormgo get -u gorm.io/driver/mysqlgo get -u github.com/spf13/vipergo get golang.org/x/crypto/bcryptgo get github.com/golang-jwt/jwt/v5go get go.uber.org/zapgo get github.com/google/uuidgo get golang.org/x/time/rate
- Go 1.25+
- Gin
- GORM
- MySQL
- JWT
homework
├── homework/README.MD
├── homework/cmd
│ └── homework/cmd/server
│ └── homework/cmd/server/main.go
├── homework/configs
│ ├── homework/configs/config.dev.yaml
│ ├── homework/configs/config.prod.yaml
│ └── homework/configs/config.yaml
├── homework/go.mod
├── homework/go.sum
├── homework/internal
│ ├── homework/internal/api
│ │ ├── homework/internal/api/blog.go
│ │ ├── homework/internal/api/comment.go
│ │ └── homework/internal/api/user.go
│ ├── homework/internal/config
│ │ ├── homework/internal/config/config.go
│ │ └── homework/internal/config/load.go
│ ├── homework/internal/dao
│ │ ├── homework/internal/dao/blog_dao.go
│ │ ├── homework/internal/dao/comment_dao.go
│ │ ├── homework/internal/dao/db.go
│ │ └── homework/internal/dao/user_dao.go
│ ├── homework/internal/middleware
│ │ ├── homework/internal/middleware/jwt.go
│ │ ├── homework/internal/middleware/limiter.go
│ │ ├── homework/internal/middleware/logger.go
│ │ └── homework/internal/middleware/trace.go
│ ├── homework/internal/model
│ │ ├── homework/internal/model/Blog.go
│ │ ├── homework/internal/model/comment.go
│ │ └── homework/internal/model/user.go
│ ├── homework/internal/pkg
│ │ ├── homework/internal/pkg/errno
│ │ │ └── homework/internal/pkg/errno/errno.go
│ │ ├── homework/internal/pkg/jwt
│ │ │ └── homework/internal/pkg/jwt/jwt.go
│ │ ├── homework/internal/pkg/logger
│ │ │ └── homework/internal/pkg/logger/logger.go
│ │ ├── homework/internal/pkg/password
│ │ │ └── homework/internal/pkg/password/password.go
│ │ └── homework/internal/pkg/response
│ │ └── homework/internal/pkg/response/response.go
│ ├── homework/internal/router
│ │ └── homework/internal/router/router.go
│ └── homework/internal/service
│ ├── homework/internal/service/blog_service.go
│ ├── homework/internal/service/comment_service.go
│ └── homework/internal/service/user_service.go
└── homework/localTestCase
├── homework/localTestCase/img.png
├── homework/localTestCase/img_1.png
├── homework/localTestCase/img_10.png
├── homework/localTestCase/img_2.png
├── homework/localTestCase/img_3.png
├── homework/localTestCase/img_4.png
├── homework/localTestCase/img_5.png
├── homework/localTestCase/img_6.png
├── homework/localTestCase/img_7.png
├── homework/localTestCase/img_8.png
├── homework/localTestCase/img_9.png
└── homework/localTestCase/localTest.MD
- 用户注册
- 登录
- 博客的CRUD
- 评论的CRUD
- 用户登录(JWT)
- 登录态鉴权
- 统一返回结构
- 错误码体系
- 请求日志
go mod tidy
APP_ENV=dev go run cmd/server/main.go(本地)
APP_ENV=prod go run cmd/server/main.go(生产)