GiNana,新款基于iris的api开发脚手架工具

griffin702 · 2020-04-28 11:46:03 · 1733 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2020-04-28 11:46:03 的主题,其中的信息可能已经有所发展或是发生改变。

GiNana

介绍

  • 基于Iris + Gorm + Casbin + Paladin + Logrus + Wire 实现的API开发脚手架工具集,目的是提供一套轻量级开发框架,致力于结构清晰、方便、快速的完成业务需求的开发。

软件架构

整体参考bilibili开源的kratos架构,特此感谢其给予的宝贵灵感。

  • Iris:一度在beego、gin等特性突出的框架中徘徊,最终胜出的唯一原因是iris使用起来更符合个人需要。
  • Gorm:没什么好描述的,个人常用,没遇到什么理由抛弃它。
  • Casbin:权限控制模块,核心概念(存储RBAC方案中用户与角色之间的映射关系)清晰易用。
  • Paladin:kratos框架里的一个舒适度很高的配置中心模块,支持远程配置中心、热加载。
  • Logrus:github上较活跃的日志框架,体感舒适度也很好,高扩展性,其中Hook机制是亮点。
  • Wire:Google的依赖注入工具。
  • Swag:自动生成Swagger2.0文档的工具,用起来很方便,但复杂一点的功能需求没有写完

使用说明

Go version>=1.12GO111MODULE=onGOPROXY=https://goproxy.baidu.com

path环境变量添加%GOPATH%\bin

$ go get -u github.com/griffin702/ginana/tool/ginana
$ ginana new demo
$ cd demo
$ ginana run

参与贡献

  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1733 次点击  
加入收藏 微博
1 回复  |  直到 2020-04-30 23:23:30
griffin702
griffin702 · #1 · 5年之前

看看提提神

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传