|
|
1 kuukausi sitten | |
|---|---|---|
| .. | ||
| cmd | 1 kuukausi sitten | |
| config | 1 kuukausi sitten | |
| docs | 1 kuukausi sitten | |
| internal | 1 kuukausi sitten | |
| pkg | 1 kuukausi sitten | |
| scripts | 1 kuukausi sitten | |
| web | 1 kuukausi sitten | |
| Dockerfile | 1 kuukausi sitten | |
| README.md | 1 kuukausi sitten | |
| docker-compose.yml | 1 kuukausi sitten | |
| go.mod | 1 kuukausi sitten | |
这是一个基于Go语言的Web开发特训项目,包含从基础到高级的Web开发技术栈,通过实际项目练习掌握现代Web应用开发技能。
web-training/
├── README.md # 项目说明
├── go.mod # 依赖管理
├── go.sum # 依赖锁定
├── config/ # 配置文件
│ ├── config.yaml # 应用配置
│ └── config.go # 配置加载
├── cmd/ # 应用入口
│ ├── server/ # Web服务器
│ │ └── main.go
│ └── admin/ # 后台管理
│ └── main.go
├── internal/ # 内部包
│ ├── config/ # 配置管理
│ ├── handler/ # HTTP处理器
│ │ ├── user.go
│ │ ├── product.go
│ │ ├── order.go
│ │ └── upload.go
│ ├── middleware/ # 中间件
│ │ ├── auth.go
│ │ ├── cors.go
│ │ ├── logger.go
│ │ └── ratelimit.go
│ ├── model/ # 数据模型
│ │ ├── user.go
│ │ ├── product.go
│ │ ├── order.go
│ │ └── cart.go
│ ├── repository/ # 数据访问层
│ │ ├── user.go
│ │ ├── product.go
│ │ └── order.go
│ ├── service/ # 业务逻辑层
│ │ ├── user.go
│ │ ├── product.go
│ │ ├── order.go
│ │ └── auth.go
│ └── utils/ # 工具函数
│ ├── response.go
│ ├── validation.go
│ └── pagination.go
├── pkg/ # 公共包
│ ├── auth/ # 认证模块
│ │ ├── jwt.go
│ │ └── password.go
│ ├── cache/ # 缓存模块
│ │ └── redis.go
│ ├── database/ # 数据库模块
│ │ └── mysql.go
│ ├── storage/ # 存储模块
│ │ └── local.go
│ └── websocket/ # WebSocket模块
│ └── hub.go
├── web/ # 前端资源
│ ├── static/ # 静态文件
│ │ ├── css/
│ │ ├── js/
│ │ └── images/
│ └── templates/ # 模板文件
│ ├── index.html
│ ├── login.html
│ └── dashboard.html
├── uploads/ # 上传文件目录
├── scripts/ # 脚本文件
│ ├── build.sh
│ └── deploy.sh
├── docs/ # 文档
│ ├── api.md # API文档
│ └── deployment.md # 部署文档
├── tests/ # 测试文件
│ ├── integration/
│ └── unit/
└── docker-compose.yml # Docker配置
# 安装Go 1.19+
# 安装MySQL 8.0+
# 安装Redis 6.0+
git clone <repository-url>
cd web-training
go mod download
# 创建数据库
mysql -u root -p
CREATE DATABASE web_training;
# 导入初始数据
mysql -u root -p web_training < scripts/init.sql
# 启动Web服务器
go run cmd/server/main.go
# 或使用Docker
docker-compose up -d
POST /api/v1/register - 用户注册POST /api/v1/login - 用户登录GET /api/v1/users - 获取用户列表GET /api/v1/users/:id - 获取用户详情PUT /api/v1/users/:id - 更新用户信息DELETE /api/v1/users/:id - 删除用户GET /api/v1/products - 获取商品列表POST /api/v1/products - 创建商品GET /api/v1/products/:id - 获取商品详情PUT /api/v1/products/:id - 更新商品DELETE /api/v1/products/:id - 删除商品GET /api/v1/orders - 获取订单列表POST /api/v1/orders - 创建订单GET /api/v1/orders/:id - 获取订单详情PUT /api/v1/orders/:id - 更新订单状态go test ./...
go test -tags=integration ./tests/integration/...
go test -coverprofile=coverage.out ./...
go tool cover -html=coverage.out
# 构建镜像
docker build -t web-training .
# 运行容器
docker run -p 8080:8080 web-training
docker-compose up -d
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
如有问题或建议,请提交 Issue 或联系项目维护者
祝您学习愉快!