# LessDay **Repository Path**: event/less-day ## Basic Information - **Project Name**: LessDay - **Description**: 断舍离,极简生活,扔东西打卡小程序。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-09-01 - **Last Updated**: 2025-09-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 轻日子小程序 - 前后端分离架构 ## 项目结构 ``` less_day/ ├── backend/ # Go后端服务 │ ├── cmd/server/ # 主程序入口 │ │ └── main.go │ ├── internal/ # 内部包 │ │ ├── config/ # 配置管理 │ │ ├── handler/ # 请求处理器 │ │ ├── middleware/ # 中间件 │ │ ├── model/ # 数据模型 │ │ ├── repository/ # 数据访问层 │ │ ├── service/ # 业务逻辑层 │ │ └── utils/ # 工具函数 │ ├── pkg/ # 公共包 │ │ ├── database/ # 数据库连接 │ │ └── redis/ # Redis连接 │ ├── configs/ # 配置文件 │ │ └── config.yaml │ └── go.mod # Go模块文件 ├── frontend/ # 微信小程序前端 │ ├── app.js # 小程序入口 │ ├── app.json # 小程序配置 │ ├── app.wxss # 全局样式 │ ├── sitemap.json # 站点地图 │ ├── utils/ # 工具函数 │ │ ├── auth.js # 认证相关 │ │ ├── request.js # 网络请求 │ │ └── util.js # 通用工具 │ ├── components/ # 自定义组件 │ │ ├── calendar/ # 日历组件 │ │ ├── statistics/ # 统计组件 │ │ └── checkin-card/ # 打卡卡片组件 │ ├── pages/ # 页面 │ │ ├── index/ # 首页 │ │ ├── checkin/ # 打卡页面 │ │ ├── statistics/ # 统计页面 │ │ └── profile/ # 个人中心 │ └── images/ # 图片资源 └── README.md # 项目说明 ``` ## 技术栈 ### 后端技术栈 - **语言**: Go 1.21+ - **框架**: Gin (HTTP Web框架) - **数据库**: MySQL 8.0+ - **缓存**: Redis - **ORM**: GORM - **认证**: JWT - **配置管理**: Viper - **日志**: Zap ### 前端技术栈 - **平台**: 微信小程序 - **语言**: JavaScript - **样式**: WXSS - **架构**: 原生小程序框架 ## 核心功能 ### 1. 用户认证 - 微信授权登录 - 手机号绑定 - JWT Token认证 ### 2. 打卡功能 - 每日打卡记录 - 物品信息管理 - 图片上传 - 分类管理 ### 3. 统计分析 - 日历视图展示 - 数据统计分析 - 趋势图表 - 成就系统 ## 数据库设计 ### 主要数据表 - `users` - 用户信息表 - `check_in_records` - 打卡记录表 - `user_statistics` - 统计数据表 ## API接口 ### 认证相关 - `POST /api/v1/auth/wechat-login` - 微信登录 - `POST /api/v1/auth/phone-login` - 手机号登录 ### 用户相关 - `GET /api/v1/users/profile` - 获取用户信息 - `PUT /api/v1/users/profile` - 更新用户信息 ### 打卡相关 - `POST /api/v1/checkin` - 创建打卡 - `GET /api/v1/checkin/today` - 获取今日打卡状态 - `GET /api/v1/checkin/list` - 获取打卡列表 - `PUT /api/v1/checkin/:id` - 更新打卡记录 - `DELETE /api/v1/checkin/:id` - 删除打卡记录 ### 统计相关 - `GET /api/v1/statistics/overview` - 获取统计数据概览 - `GET /api/v1/statistics/calendar` - 获取日历数据 - `GET /api/v1/statistics/trend` - 获取趋势数据 - `GET /api/v1/statistics/category` - 获取分类统计 ## 开发环境配置 ### 后端开发环境 1. 安装Go 1.21+ 2. 安装MySQL 8.0+ 3. 安装Redis 4. 配置微信小程序AppID和Secret ### 前端开发环境 1. 微信开发者工具 2. 微信小程序AppID ## 快速开始 ### 后端启动 ```bash cd backend go mod tidy go run cmd/server/main.go ``` ### 前端开发 1. 用微信开发者工具打开frontend目录 2. 配置AppID 3. 点击编译运行 ## 部署说明 ### 后端部署 - 使用Docker容器化部署 - 支持Kubernetes集群部署 - 推荐使用云服务(阿里云/腾讯云) ### 前端发布 - 使用微信开发者工具上传代码 - 在微信公众平台提交审核 - 审核通过后发布上线 ## 安全考虑 1. **数据安全**: 用户手机号加密存储 2. **接口安全**: JWT认证 + 参数验证 3. **网络安全**: HTTPS + CORS配置 4. **输入验证**: 严格的参数校验 ## 性能优化 1. **缓存策略**: Redis缓存热点数据 2. **数据库优化**: 索引优化 + 连接池 3. **前端优化**: 图片压缩 + 请求合并 4. **CDN加速**: 静态资源CDN分发 ## 扩展功能 1. **社交功能**: 用户互动、分享 2. **成就系统**: 徽章、等级制度 3. **数据导出**: Excel/PDF报告 4. **智能推荐**: 基于AI的断舍离建议