此项目使用Gin
+Gorm
,基于RESTful API
实现的一个B站。
此项目比较适合小白进阶web开发
这方面
密码:0000
-
用户模块:
- 注册登录
- 修改个人信息,更换头像,更改密码
- 关注用户
- 粉丝列表
-
视频模块:
- 个人上传视频,可加视频封面
- 点赞,收藏,转发视频
- 更新视频简介,封面
- 查看收藏视频列表
- 删除视频
-
弹幕模块:
- 发送弹幕
- 获取弹幕
-
评论模块:
- 评论他人
- 回复他人
Golang V1.16
- Gin
- Gorm
- mysql
- redis
- viper
- jwt-go
- cron
- qiniu-go-sdk
BiliBili/
├── api
├── cache
├── conf
├── middleware
├── model
├── pkg
│ ├── e
│ ├── util
├── routes
├── serializer
└── servive
- api : 用于定义接口函数
- cache : 放置redis缓存
- conf : 用于存储配置文件
- middleware : 应用中间件
- model : 应用数据库模型
- pkg/e : 封装错误码
- pkg/util : 工具函数
- routes : 路由逻辑处理
- serializer : 将数据序列化为 json 的函数
- servive : 接口函数的实现
conf/config.ini
server:
port: 3000
version: 1.0
coding: mp4
jwtSecret: something-very-secret
adminJwtSecret: admin-secret
datasource:
driverName: mysql
host: 127.0.0.1
port: 3306
database: bilibili
username: root
password: root
charset: utf8mb4
qiniu:
AccessKey:
SerectKey:
Bucket:
QiniuServer:
#email:
# port: 465
# host: smtp.163.com
# address: 邮箱地址
# password: 邮箱授权码
redis:
address: 127.0.0.1:6379
password:
admin:
email: admin@qq.com
password: admin
mysql
是存储主要数据redis
用来存储点赞,收藏,浏览这些高实时的
本项目使用Go Mod
管理依赖。
下载依赖
go mod tidy
运行
go run main.go