分享一款适合于快速开发业务的 Go 框架,可用于开发 API 服务,遵循 SOLID 原则

2020-05-09 13:23:23 +08:00
 qloog

一款适合于快速开发业务的 Go 框架,主要是提供 API 服务。

项目地址

https://github.com/1024casts/snake

技术栈

特性

目录结构

├── Makefile                     # 项目管理文件
├── conf                         # 配置文件统一存放目录
├── config                       # 专门用来处理配置和配置文件的 Go package                 
├── db.sql                       # 在部署新环境时,可以登录 MySQL 客户端,执行 source db.sql 创建数据库和表
├── docs                         # swagger 文档,执行 swag init 生成的
├── handler                      # 类似 MVC 架构中的 C,用来读取输入,并将处理流程转发给实际的处理函数,最后返回结果
├── log                          # 存放日志的目录
├── main.go                      # 项目入口文件
├── model                        # 数据库 model
├── pkg                          # 一些封装好的 package
├── repository                   # 数据访问层
├── router                       # 路由及中间件目录
├── service                      # 业务逻辑封装
├── schedule                     # 任务调度配置目录
└── scripts                      # 存放用于执行各种构建,安装,分析等操作的脚本

下载安装

# 进入到自己的开发目录,下载安装即可,可以不用是 GOPATH
git clone https://github.com/1024casts/snake

快速开始

TIPS: 需要本地安装数据库和 redis

// 进入到下载目录
cd snake

// 生成本地环境配置文件
cp config.sample.yaml config.local.yaml

// 编译
make build

// 运行
./scripts/admin.sh start

常用命令

模块

接口文档

http://localhost:8080/swagger/index.html

开发规约

CHANGELOG

谁在用

Discussion

欢迎大家一起讨论、交流,方便的话可以给个 star 。 https://github.com/1024casts/snake

2614 次点击
所在节点    Go 编程语言
1 条回复
vtwoextb
2020-05-09 13:34:31 +08:00
学习学习

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/669961

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX