基于现代技术栈的年度总结展示项目,包含前端、后端和反向代理的完整解决方案。
cnb-year/ ├── frontend/ # 前端 (Vite + Vanilla JS) │ ├── index.html # 主页面 │ ├── script.js # 前端逻辑 │ ├── style.css # 样式文件 │ ├── package.json # 前端依赖 │ ├── vite.config.js # Vite 配置 │ └── Dockerfile # 前端容器化 ├── backend-go/ # 后端 (Go + Iris 框架) │ ├── handlers/ # 请求处理器 │ ├── middleware/ # 中间件 │ ├── models/ # 数据模型 │ ├── services/ # 业务逻辑 │ ├── main.go # 主程序 │ ├── go.mod # Go 模块 │ ├── Dockerfile # 后端容器化 │ └── .env # 环境变量 ├── nginx/ # Nginx 反向代理 │ ├── nginx.conf # Nginx 主配置 │ └── default.conf # 站点配置 ├── docker-compose.yml # Docker Compose 配置 ├── start-docker.sh # Docker 启动脚本 └── README.md # 项目说明
# 克隆项目
git clone <repository-url>
cd cnb-year
# 启动所有服务
./start-docker.sh
# 或者手动启动
docker compose up --build -d
cd frontend
npm install
npm run dev
cd backend-go
go mod download
go run main.go
GET /api/year-summary?userId=user123
响应示例:
{
"success": true,
"data": {
"quietestDay": {
"date": "7月 11日",
"visits": 2
},
"busiestDay": {
"date": "10月 2日",
"hours": 16
},
"favoriteTime": {
"time": "02:30"
},
"yearSummary": {
"totalVisits": 1247,
"createdMoments": 89
}
},
"timestamp": "2024-12-04T22:00:00Z",
"userId": "user123"
}
POST /api/year-summary Content-Type: application/json { "userId": "user123", "data": { // 年度数据结构 } }
frontend/script.js 中添加新的处理逻辑backend-go/handlers/ 中添加新的处理器backend-go/main.go 中注册新路由backend-go/models/ 中定义数据结构frontend/vite.config.jsbackend-go/.envnginx/default.confdocker-compose.ymlMIT License
感谢所有贡献者和开源社区的支持!