# tinytiktok **Repository Path**: NaNH2/tinytiktok ## Basic Information - **Project Name**: tinytiktok - **Description**: 简易版抖音 - **Primary Language**: Go - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2023-07-31 - **Last Updated**: 2025-12-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TinyTikTok 一个基于 Go 语言实现的轻量级短视频服务系统,支持用户注册登录、关注互动、视频发布与推荐、点赞评论等核心功能。 ## 项目特点 - **微服务架构**:基于 gRPC 实现用户服务与视频服务分离 - **功能完整**:涵盖短视频平台核心功能模块 - **高可用组件**: - 使用 Consul 实现服务发现 - 使用 JWT 实现用户鉴权 - 使用 Redis 缓存热点数据 - 使用 GORM 操作 MySQL 数据库 - **完整测试套件**:包含压力测试和接口测试模块 ## 功能模块 ### 用户服务 (User Service) - 用户注册/登录 - 个人信息管理 - 关注/粉丝列表 - 好友关系管理 - 私信聊天系统 ### 视频服务 (Video Service) - 视频发布与管理 - 视频推荐流 (Feed) - 点赞/取消点赞 - 评论系统 - 用户作品集展示 ## 技术栈 - Go 语言 + Gin Web 框架 - gRPC 服务通信 - MySQL 数据持久化 - Redis 缓存 - Consul 服务发现 - JWT 用户鉴权 - GORM 数据库 ORM ## 目录结构说明 ``` ├── common # 公共配置与常量 ├── config-example # 配置文件示例 ├── proto # gRPC 接口定义 ├── test # 测试脚本与压力测试模块 ├── user # 用户服务模块 ├── utils # 工具类函数 └── video # 视频服务模块 ``` ## 开发与部署 请参考项目中的配置文件示例,配置 MySQL、Redis 和 Consul 服务。项目使用 Go Modules 进行依赖管理,可通过 `go run main.go` 启动服务。 ## 贡献指南 欢迎贡献代码!请遵循以下原则: 1. 提交 PR 前确保通过所有测试 2. 保持代码简洁和良好的注释 3. 遵循 Go 语言编码规范 ## 许可证 本项目采用 MIT 许可证,详细信息请查看 LICENSE 文件。