短链接网站开发实战(一):项目简介
项目简介
这是一个基于Fiber
框架开发的短链接网站,有PC端和小程序端,以后考虑会有基于原生的手机端。
技术栈
Go+Fiber+ent(Facebook开源的ORM框架)+Taro(开发多端小程序)
- Fiber框架文档地址 https://docs.gofiber.io/
- ent官网 https://entgo.io/
- Taro官网 http://taro-docs.jd.com/taro/docs/README
功能
- 首页
- 用户登录
- 一对一短链接
- 一对多短链接(根据多条件来跳转不同的链接)
- 短链接访问IP,设备,系统,地区统计
- 短链接提供第三方API认证调用
- 二维码生成
目录结构
short-link
├── config # 配置文件
├── controller #控制器
│ └── user.go
├── ent #数据库模型
│ ├── enttest
│ │ └── enttest.go
│ ├── hook
│ │ └── hook.go
│ ├── migrate
│ │ ├── migrate.go
│ │ └── schema.go
│ ├── predicate
│ │ └── predicate.go
│ ├── runtime
│ │ └── runtime.go
│ ├── schema
│ │ └── user.go
│ ├── user
│ │ ├── user.go
│ │ └── where.go
│ ├── client.go
│ ├── config.go
│ ├── context.go
│ ├── ent.go
│ ├── generate.go
│ ├── mutation.go
│ ├── runtime.go
│ ├── tx.go
│ ├── user.go
│ ├── user_create.go
│ ├── user_delete.go
│ ├── user_query.go
│ └── user_update.go
├── repository # 数据库操作
│ └── user.go
├── router # 路由
│ ├── middleware #中间件
│ └── router.go #路由配置
├── service # 服务层
├── util # 工具集
├── bee.json
├── go.mod
├── go.sum
├── main.go
├── README.md