Skip to content
This repository was archived by the owner on Feb 24, 2022. It is now read-only.

qbhy/goal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

247 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

goal

一个继承了 laravel 思想的 golang web 框架

框架特点

goal 通过容器和服务提供者作为框架的核心,以 contracts 为桥梁,为开发者提供丰富的功能和服务,这点与 laravel 是相似的。

  • 强大的容器
  • 服务提供者
  • 契约精神

功能特性

  • examples 各种程序的例子(还在完善中...)
  • contracts 定义模块接口
  • container 容器实现!!!
  • pipeline 简单但是很强大的洋葱模型的管道
  • supports 支持库
    • logs 日志模块
    • collection 集合库
    • utils 工具库,封装了包含字符串处理、默认参数处理、类型转换、反射等工具函数
  • application 应用
    • exceptions 异常处理模块
    • signal 信号监听,goal 实现了优雅关闭功能
  • config 配置模块
  • redis Redis模块
  • cache 缓存模块
    • redis
    • memcached
    • file
    • database 数据库驱动
    • memory
    • multi 高可用多级缓存
  • encryption 加密模块
  • hashing 哈希模块
  • validation 数据校验模块
  • mail 邮件模块
  • events 事件模块
  • filesystem 文件系统模块
    • local 本地文件系统
    • qiniu 七牛文件系统
    • oss 阿里云文件系统
  • database 数据库操作模块
    • query builder 查询构造器
    • seeders 数据填充
    • migration 数据迁移
    • drivers 数据库驱动
      • mysql
      • postgresql
      • sqlite
      • clickhouse
      • sqlserver
  • eloquent ORM模块,计划 golang 1.18 发布后完成,因为泛型
  • http http相关模块,请求、响应、中间件等
    • sse server-sent-events模块(简称sse)
    • routing http 路由服务
    • session 会话服务
      • cookie 将会话信息存储到加密的 cookie 中
      • redis
      • file
      • database
      • memcached
  • console 命令行模块
    • commands 自定义命令模块
    • scheduling 任务调度模块
  • auth 用户认证模块
    • gate 用户授权模块
  • serialize 序列化模块
    • json
    • xml
    • gob
    • protobuf
  • queue 消息队列模块
    • redis
    • kafka
    • nsq
    • rocketMQ
    • rabbitMQ
  • rate limiter 限流器
  • bloom-filter 布隆过滤器
    • file 持久化到文件
    • redis 通过 redis bit 实现的过滤器,支持分布式
  • websocket socket通信模块
    • socket.io socket.io 实现
  • micro 远程调用模块(集成 go-micro)
    • grpc
    • 服务发现
    • 负载均衡
    • 自定义 go-micro

参与项目

你可以通过以下方式参与到项目中来

  • 完善已有模块(优化或者改bug)
  • 完善或者修复测试用例
  • 开发新的模块(比如标记为未完成的模块)
  • 添加或者修改完善注释(用英语)
  • 修改错别字或者不当用词(文档和代码都可以,比如变量命名)
  • 帮助开发独立文档(readme是临时的,后面需要独立的文档项目)
  • 开发扩展包(goal 的扩展相当容易,后面我会写教程,现阶段进群聊)
  • 使用 goal 实现各种例子(放examples文件夹或者新建仓库在这里引用)
  • 更多方式进群聊吧

交流

扫码加入QQ群
qq_pic_merged_1635476228621.jpg

Packages

 
 
 

Contributors