Skip to content
This repository has been 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

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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