sponge

package module
v1.16.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 14, 2025 License: MIT Imports: 0 Imported by: 0

README

English | 简体中文

Go Report codecov Go Reference Go Awesome Go


Introduction

Sponge is a powerful and easy-to-use Go development framework. Built on the core philosophy of "Definition is Code", it aims to reshape the backend development experience through automatic generation technology, unleashing productivity and boosting development efficiency.

Sponge deeply integrates a code generation engine, Gin (Web framework), and gRPC (microservice framework), covering the full software lifecycle from project generation, development, and testing to API documentation and deployment.

Core Features:

  • Definition-Driven Development: Automatically parses SQL, Protobuf, and JSON configuration files to generate high-quality modular code.
  • LEGO-style Assembly: Flexibly combines code modules in a loosely coupled manner, supporting the rapid construction of monolithic applications, microservice clusters, and gateway services, including RESTful API, gRPC, HTTP+gRPC, gRPC Gateway, etc.
  • Low Code, High Efficiency: Eliminate the tedious, repetitive tasks of building underlying frameworks, developing CRUD operations, and configuring routing and governance. This allows developers to focus solely on core business logic and rapidly deliver standardized, high-quality backend services.

Why Choose Sponge?

  • Extreme Development Efficiency: One-click generation of complete, production-ready backend services, including CRUD, routing, documentation, and service framework code, multiplying development efficiency.
  • Out-of-the-box Toolchain: Provides a complete development toolchain (Generation → Business Logic → Testing → Deployment → Monitoring), eliminating the need to piece together fragmented tools.
  • Industry Best Practices: Built on the mainstream Go community tech stack (Gin/GORM/gRPC/Protobuf, etc.), with a standardized architecture to reduce technology selection risks.
  • Extremely Low Learning Curve: Easy to get started and beginner-friendly, while also meeting the customization needs of senior developers.
  • Ideal for Team Collaboration: Unifies project structure, improving team collaboration efficiency and code maintainability.
  • Flexible and Extensible: Supports custom templates, not limited to Go; capable of extending to frontend, test scripts, and other arbitrary code generation.
  • AI-Driven Development (AI-Native):
    • Sponge: automatically builds standardized infrastructure (API, data layer, service framework).
    • AI Assistant: analyzes project context and generates code intelligently fill in core business logic based on project context, achieving "Infrastructure Automation, Business Intelligence".

Applicable Scenarios

Sponge is suitable for building high-performance, maintainable backend systems, specifically for:

  • Rapid development of RESTful API services.
  • Building large-scale microservice architectures.
  • Cloud-native application development.
  • Rapid refactoring and migration of legacy projects.
  • Standardized engineering templates for Go beginners or teams.

Online Demo

No installation required, experience the code generation feature directly in your browser: Code Generation

Note: If you need to run the downloaded service code locally, you must first complete the local installation of Sponge.


Quick Start

  1. Install Sponge: Supports Windows, macOS, Linux, and Docker environments. View the Sponge Installation Guide.

  2. Open the Code Generation UI Page

    sponge run
    

    Access http://localhost:24631 in your local browser to generate code.

  3. Example: One-click Generation of Web Service Backend Code Based on SQL

    • Operation Process:
      • Fill Parameters: Connect to the database and select tables in the UI.
      • Download Code: Click generate and download the complete project package.
      • Generate Swagger Documentation: Execute make docs in the project root directory.
      • Start Service: Execute make run.
      • Test Interface: Access http://localhost:8080/swagger/index.html in the browser to test APIs via the Swagger interface.

Tech Stack & Components

Sponge follows the "batteries included" principle, integrating 30+ mainstream Go ecosystem components, loaded on demand:

Category Component
Frameworks Gin, gRPC
Database GORM (MySQL, PostgreSQL, SQLite, etc.), MongoDB
Cache/Messaging Redis, Kafka, RabbitMQ
Service Governance Etcd, Consul, Nacos, Jaeger, Prometheus, OpenTelemetry
Others DTM (Distributed Transaction), WebSocket, Swagger, PProf
... ...

👉 View the complete list of tech stacks and components.


Architecture & Principles

Code Generation Engine

Sponge provides multiple code generation engines, supporting built-in templates, custom templates, and AI-assisted generation.

  1. Code generation engine based on built-in templates, as shown below:


  1. Code generation engine based on custom templates, as shown below:


  1. Code generation engine based on AI-assisted business logic, as shown below:


Microservice Architecture

The code generated by Sponge follows a typical layered architecture with built-in service governance capabilities. The structure is clear and easy to maintain. The microservice framework structure of Sponge is shown below:


Performance Benchmarks

Based on tests with 50 concurrency and 1 million requests, services generated by Sponge demonstrate excellent performance:

  1. HTTP Service

  2. gRPC Service

👉 View detailed test code and environment.


Directory Structure

The service code directory structure created by Sponge follows the project-layout, supporting Monolith, Multi-Repo, and Mono-Repo patterns.

1. Monolith / Multi-Repo Structure Details.
   .
   ├── api            # Directory for protobuf files and generated *pb.go files
   ├── assets         # Directory for other assets used with the repository (images, logos, etc.)
   ├── cmd            # Main application entry directory
   ├── configs        # Directory for configuration files
   ├── deployments    # Deployment scripts directory for bare metal, docker, k8s
   ├── docs           # Directory for design documents and interface documentation
   ├── internal       # Private application and library code directory
   │    ├── cache        # Cache directory wrapped based on business logic
   │    ├── config       # Go structure configuration file directory
   │    ├── dao          # Data access directory
   │    ├── database     # Database directory
   │    ├── ecode        # Custom business error code directory
   │    ├── handler      # HTTP business functionality implementation directory
   │    ├── model        # Database model directory
   │    ├── routers      # HTTP routing directory
   │    ├── rpcclient    # Client directory for connecting to gRPC services
   │    ├── server       # Service entry, including http, grpc, etc.
   │    ├── service      # gRPC business functionality implementation directory
   │    └── types        # HTTP request and response types directory
   ├── pkg            # Library directory that can be used by external applications
   ├── scripts        # Execution scripts directory
   ├── test           # Additional external test applications and test data
   ├── third_party    # Directory for dependent third-party protobuf files or other tools
   ├── Makefile       # Collection of commands related to development, testing, and deployment
   ├── go.mod         # Go module dependency and version control file
   └── go.sum         # Go module dependency checksum file
2. Mono-Repo Structure Details.
   .
   ├── api
   │    ├── server1       # Protobuf files and generated *pb.go directory for Service 1
   │    ├── server2       # Protobuf files and generated *pb.go directory for Service 2
   │    ├── server3       # Protobuf files and generated *pb.go directory for Service 3
   │    └── ...
   ├── server1        # Code directory for Service 1, basically same structure as multi-repo
   ├── server2        # Code directory for Service 2, basically same structure as multi-repo
   ├── server3        # Code directory for Service 3, basically same structure as multi-repo
   ├── ...
   ├── third_party    # Dependent third-party protobuf files
   ├── go.mod         # Go module dependency and version control file
   └── go.sum         # Go module dependency checksum file

Documentation

Click to view the Official Sponge Documentation, covering core content such as development guides, components, service configuration, and deployment solutions.


Example Projects

Basic Examples
Advanced Projects

Contribution

Issues and PRs are welcome! Contribution Guide.


If Sponge is helpful to you, please give it a ⭐ Star! This will be our motivation for continuous updates.


Documentation

Overview

Package sponge is a powerful Go development framework, it's easy to develop web and microservice projects. Repo: https://github.com/go-dev-frame/sponge Docs: https://go-sponge.com

Usage:

sponge [command]

Available Commands:

assistant   AI assistants, support generation and merging of Go code, chat, and more
completion  Generate the autocompletion script for the specified shell
config      Generate go config code from yaml file
graph       Draw a business architecture diagram based on the project created by sponge
help        Help about any command
init        Initialize sponge
merge       Merge the generated code into local go file
micro       Generate protobuf, model, cache, dao, service, grpc, grpc-gw, grpc+http, grpc-cli code
patch       Patch the generated code
plugins     Manage sponge dependency plugins
run         Run code generation engine service, generate code in UI interface
template    Generate code based on custom templates
upgrade     Upgrade sponge version
web         Generate model, cache, dao, handler, http code

Flags:

-h, --help      help for sponge
-v, --version   version for sponge

Use "sponge [command] --help" for more information about a command.

Directories

Path Synopsis
api
cmd
perftest command
protoc-gen-go-gin command
Package main generate *.go(tmpl), *_router.go, *_http.go, *_router.pb.go code based on proto files.
Package main generate *.go(tmpl), *_router.go, *_http.go, *_router.pb.go code based on proto files.
protoc-gen-go-gin/internal/generate/handler
Package handler is to generate template code, router code, and error code.
Package handler is to generate template code, router code, and error code.
protoc-gen-go-gin/internal/generate/router
Package router is to generate gin router code.
Package router is to generate gin router code.
protoc-gen-go-gin/internal/generate/service
Package service is to generate template code, router code, and error code.
Package service is to generate template code, router code, and error code.
protoc-gen-go-gin/internal/parse
Package parse is parsed proto file to struct
Package parse is parsed proto file to struct
protoc-gen-go-rpc-tmpl command
Package main is to generate *.go(tmpl), *_client_test.go, *_rpc.go files.
Package main is to generate *.go(tmpl), *_client_test.go, *_rpc.go files.
protoc-gen-go-rpc-tmpl/internal/generate/service
Package service is to generate template code, test code, and error code.
Package service is to generate template code, test code, and error code.
protoc-gen-go-rpc-tmpl/internal/parse
Package parse is parsed proto file to struct
Package parse is parsed proto file to struct
protoc-gen-json-field command
Package main is a library that parses protobuf files into json
Package main is a library that parses protobuf files into json
protoc-gen-json-field/generate
Package generate is generate json field code.
Package generate is generate json field code.
protoc-gen-json-field/parser
Package parser is parsed proto file to struct
Package parser is parsed proto file to struct
serverNameExample_grpcExample command
Package main is the grpc server of the application.
Package main is the grpc server of the application.
serverNameExample_grpcExample/initial
Package initial is the package that starts the service to initialize the service, including the initialization configuration, service configuration, connecting to the database, and resource release needed when shutting down the service.
Package initial is the package that starts the service to initialize the service, including the initialization configuration, service configuration, connecting to the database, and resource release needed when shutting down the service.
serverNameExample_grpcGwPbExample command
Package main is the grpc gateway server of the application.
Package main is the grpc gateway server of the application.
serverNameExample_grpcGwPbExample/initial
Package initial is the package that starts the service to initialize the service, including the initialization configuration, service configuration, connecting to the database, and resource release needed when shutting down the service.
Package initial is the package that starts the service to initialize the service, including the initialization configuration, service configuration, connecting to the database, and resource release needed when shutting down the service.
serverNameExample_grpcHttpPbExample command
Package main is the http and grpc server of the application.
Package main is the http and grpc server of the application.
serverNameExample_grpcHttpPbExample/initial
Package initial is the package that starts the service to initialize the service, including the initialization configuration, service configuration, connecting to the database, and resource release needed when shutting down the service.
Package initial is the package that starts the service to initialize the service, including the initialization configuration, service configuration, connecting to the database, and resource release needed when shutting down the service.
serverNameExample_grpcPbExample command
Package main is the grpc server of the application.
Package main is the grpc server of the application.
serverNameExample_grpcPbExample/initial
Package initial is the package that starts the service to initialize the service, including the initialization configuration, service configuration, connecting to the database, and resource release needed when shutting down the service.
Package initial is the package that starts the service to initialize the service, including the initialization configuration, service configuration, connecting to the database, and resource release needed when shutting down the service.
serverNameExample_httpExample command
Package main is the http server of the application.
Package main is the http server of the application.
serverNameExample_httpExample/initial
Package initial is the package that starts the service to initialize the service, including the initialization configuration, service configuration, connecting to the database, and resource release needed when shutting down the service.
Package initial is the package that starts the service to initialize the service, including the initialization configuration, service configuration, connecting to the database, and resource release needed when shutting down the service.
serverNameExample_httpPbExample command
Package main is the http server of the application.
Package main is the http server of the application.
serverNameExample_httpPbExample/initial
Package initial is the package that starts the service to initialize the service, including the initialization configuration, service configuration, connecting to the database, and resource release needed when shutting down the service.
Package initial is the package that starts the service to initialize the service, including the initialization configuration, service configuration, connecting to the database, and resource release needed when shutting down the service.
serverNameExample_mixExample command
Package main is the http and grpc server of the application.
Package main is the http and grpc server of the application.
serverNameExample_mixExample/initial
Package initial is the package that starts the service to initialize the service, including the initialization configuration, service configuration, connecting to the database, and resource release needed when shutting down the service.
Package initial is the package that starts the service to initialize the service, including the initialization configuration, service configuration, connecting to the database, and resource release needed when shutting down the service.
sponge command
Package main sponge is a basic development framework that integrates code auto generation, Gin and GRPC, a microservice framework.
Package main sponge is a basic development framework that integrates code auto generation, Gin and GRPC, a microservice framework.
sponge/commands
Package commands are subcommands of the sponge command.
Package commands are subcommands of the sponge command.
sponge/commands/generate
Package generate is to generate code, including model, cache, dao, handler, http, service, grpc, grpc-gw, grpc-cli code.
Package generate is to generate code, including model, cache, dao, handler, http, service, grpc, grpc-gw, grpc-cli code.
sponge/commands/merge
Package merge is merge the generated code into the template file, you don't worry about it affecting the logic code you have already written, in case of accidents, you can find the pre-merge code in the directory /tmp/sponge_merge_backup_code
Package merge is merge the generated code into the template file, you don't worry about it affecting the logic code you have already written, in case of accidents, you can find the pre-merge code in the directory /tmp/sponge_merge_backup_code
sponge/commands/merge/module
Package module provides the functions to merge the code of two files.
Package module provides the functions to merge the code of two files.
sponge/commands/patch
Package patch is command set for patching service code.
Package patch is command set for patching service code.
sponge/commands/template
Package template provides commands to generate custom code.
Package template provides commands to generate custom code.
sponge/server
Package server is a sponge UI service that contains the front-end pages.
Package server is a sponge UI service that contains the front-end pages.
Package configs used to locate config file.
Package configs used to locate config file.
internal
cache
Package cache is a package that unifies the definition of caching, supporting both redis and local caching.
Package cache is a package that unifies the definition of caching, supporting both redis and local caching.
dao
Package dao is the data access object, the code for database operation is unified here.
Package dao is the data access object, the code for database operation is unified here.
database
Package database provides database client initialization.
Package database provides database client initialization.
ecode
Package ecode is the package that unifies the definition of http error codes or grpc error codes here.
Package ecode is the package that unifies the definition of http error codes or grpc error codes here.
handler
Package handler is a package of http request processing business logic.
Package handler is a package of http request processing business logic.
model
Package model contains the data models used in the application.
Package model contains the data models used in the application.
routers
Package routers is a package dedicated to registering routes, and supports both manual route registration and automatic route registration.
Package routers is a package dedicated to registering routes, and supports both manual route registration and automatic route registration.
rpcclient
Package rpcclient is the rpc client package, used to connect to grpc server, rich plugin support by default, such as service discovery, load balancing, link tracking and so on.
Package rpcclient is the rpc client package, used to connect to grpc server, rich plugin support by default, such as service discovery, load balancing, link tracking and so on.
server
Package server is a package that holds the http or grpc service.
Package server is a package that holds the http or grpc service.
service
Package service A grpc server-side or client-side package that handles business logic.
Package service A grpc server-side or client-side package that handles business logic.
types
Package types define the structure of request parameters and return results in this package
Package types define the structure of request parameters and return results in this package
pkg
aicli
Package aicli provides the interface for sending request to assistant.
Package aicli provides the interface for sending request to assistant.
aicli/chatgpt
Package chatgpt provides a client for the OpenAI chat GPT API.
Package chatgpt provides a client for the OpenAI chat GPT API.
aicli/deepseek
Package deepseek provides a client for the DeepSeek API.
Package deepseek provides a client for the DeepSeek API.
aicli/gemini
Package gemini provides a client for the Google generative AI API.
Package gemini provides a client for the Google generative AI API.
app
Package app is starting and stopping services gracefully, using golang.org/x/sync/errgroup to ensure that multiple services are started properly at the same time.
Package app is starting and stopping services gracefully, using golang.org/x/sync/errgroup to ensure that multiple services are started properly at the same time.
cache
Package cache is memory and redis cache libraries.
Package cache is memory and redis cache libraries.
conf
Package conf is parsing yaml, json, toml configuration files to go struct.
Package conf is parsing yaml, json, toml configuration files to go struct.
consulcli
Package consulcli is connecting to the consul service client.
Package consulcli is connecting to the consul service client.
container/group
Package group provides a sample lazy load container.
Package group provides a sample lazy load container.
copier
Package copier is github.com/jinzhu/copier, default option is add converters for time.Time <--> String
Package copier is github.com/jinzhu/copier, default option is add converters for time.Time <--> String
dlock
Package dlock provides distributed locking primitives, supports redis and etcd.
Package dlock provides distributed locking primitives, supports redis and etcd.
encoding
Package encoding Provides encoding and decoding of json, protobuf and gob.
Package encoding Provides encoding and decoding of json, protobuf and gob.
encoding/json
Package json is a JSON encoding and decoding.
Package json is a JSON encoding and decoding.
encoding/proto
Package proto is a protobuf encoding and decoding.
Package proto is a protobuf encoding and decoding.
errcode
Package errcode is used for http and grpc error codes, include system-level error codes and business-level error codes
Package errcode is used for http and grpc error codes, include system-level error codes and business-level error codes
etcdcli
Package etcdcli is use for connecting to the etcd service
Package etcdcli is use for connecting to the etcd service
gin/frontend
Package frontend is a library for serving static files in a Gin web application.
Package frontend is a library for serving static files in a Gin web application.
gin/handlerfunc
Package handlerfunc is used for public http request handler.
Package handlerfunc is used for public http request handler.
gin/middleware
Package middleware is gin middleware plugin.
Package middleware is gin middleware plugin.
gin/middleware/auth
Package auth provides JWT authentication middleware for gin.
Package auth provides JWT authentication middleware for gin.
gin/middleware/metrics
Package metrics is gin metrics library, collect five metrics, "uptime", "http_request_count_total", "http_request_duration_seconds", "http_request_size_bytes", "http_response_size_bytes".
Package metrics is gin metrics library, collect five metrics, "uptime", "http_request_count_total", "http_request_duration_seconds", "http_request_size_bytes", "http_response_size_bytes".
gin/prof
Package prof is used for gin profiling.
Package prof is used for gin profiling.
gin/response
Package response provides wrapper gin returns json data in the same format.
Package response provides wrapper gin returns json data in the same format.
gin/swagger
Package swagger is gin swagger library.
Package swagger is gin swagger library.
gin/validator
Package validator is gin request parameter check library.
Package validator is gin request parameter check library.
goast
Package goast is a library for parsing Go code and extracting information from it.
Package goast is a library for parsing Go code and extracting information from it.
gobash
Package gobash provides the ability to execute commands, scripts, executables in the go environment with live log output.
Package gobash provides the ability to execute commands, scripts, executables in the go environment with live log output.
gocron
Package gocron is scheduled task library.
Package gocron is scheduled task library.
gocrypto
Package gocrypto is commonly used one-way encryption, symmetric encryption and decryption, asymmetric encryption and decryption libraries, including hash, aes, des, rsa.
Package gocrypto is commonly used one-way encryption, symmetric encryption and decryption, asymmetric encryption and decryption libraries, including hash, aes, des, rsa.
gocrypto/wcipher
Package wcipher is a package to encrypt and decrypt data.
Package wcipher is a package to encrypt and decrypt data.
gofile
Package gofile is file and directory management libraries.
Package gofile is file and directory management libraries.
goredis
Package goredis is a library wrapped on top of github.com/go-redis/redis.
Package goredis is a library wrapped on top of github.com/go-redis/redis.
gotest
Package gotest is a library that simulates the testing of cache, dao and handler.
Package gotest is a library that simulates the testing of cache, dao and handler.
grpc/benchmark
Package benchmark is compression testing of rpc methods and generation of reported results.
Package benchmark is compression testing of rpc methods and generation of reported results.
grpc/client
Package client is generic grpc client-side.
Package client is generic grpc client-side.
grpc/grpccli
Package grpccli is grpc client with support for service discovery, logging, load balancing, trace, metrics, retries, circuit breaker.
Package grpccli is grpc client with support for service discovery, logging, load balancing, trace, metrics, retries, circuit breaker.
grpc/gtls
Package gtls provides grpc secure connectivity, supporting both server-only authentication and client-server authentication.
Package gtls provides grpc secure connectivity, supporting both server-only authentication and client-server authentication.
grpc/gtls/certfile
Package certfile is used to locate the certificate file.
Package certfile is used to locate the certificate file.
grpc/interceptor
Package interceptor provides commonly used grpc client-side and server-side interceptors.
Package interceptor provides commonly used grpc client-side and server-side interceptors.
grpc/keepalive
Package keepalive is setting grpc keepalive parameters.
Package keepalive is setting grpc keepalive parameters.
grpc/metrics
Package metrics is grpc's server-side and client-side metrics can continue to be captured using prometheus.
Package metrics is grpc's server-side and client-side metrics can continue to be captured using prometheus.
grpc/resolve
Package resolve is setting grpc client-side load balancing policy.
Package resolve is setting grpc client-side load balancing policy.
grpc/server
Package server is generic grpc server-side.
Package server is generic grpc server-side.
httpcli
Package httpcli is http request client, which only supports return json format.
Package httpcli is http request client, which only supports return json format.
jwt
jwt/old_jwt
Package jwt is deprecated, old package path is "github.com/go-dev-frame/sponge/pkg/jwt/old_jwt" Please use new jwt package instead, new package path is "github.com/go-dev-frame/sponge/pkg/jwt"
Package jwt is deprecated, old package path is "github.com/go-dev-frame/sponge/pkg/jwt/old_jwt" Please use new jwt package instead, new package path is "github.com/go-dev-frame/sponge/pkg/jwt"
jy2struct
Package jy2struct is a library for generating go struct code, supporting json and yaml.
Package jy2struct is a library for generating go struct code, supporting json and yaml.
kafka
Package kafka is a kafka client package.
Package kafka is a kafka client package.
krand
Package krand is a library for generating random strings, integers, floating point numbers.
Package krand is a library for generating random strings, integers, floating point numbers.
logger
Package logger is log library encapsulated in https://github.com/uber-go/zap
Package logger is log library encapsulated in https://github.com/uber-go/zap
mgo
Package mgo is a library wrapped on go.mongodb.org/mongo-driver/mongo, with added features paging queries, etc.
Package mgo is a library wrapped on go.mongodb.org/mongo-driver/mongo, with added features paging queries, etc.
mgo/query
Package query is a library of custom condition queries, support for complex conditional paging queries.
Package query is a library of custom condition queries, support for complex conditional paging queries.
nacoscli
Package nacoscli provides for getting the configuration from the nacos configuration center and parse it into a structure.
Package nacoscli provides for getting the configuration from the nacos configuration center and parse it into a structure.
process
Package process provides functions to manage processes.
Package process provides functions to manage processes.
prof
Package prof is wrap the official `net/http/pprof` route and add the profile io wait time route.
Package prof is wrap the official `net/http/pprof` route and add the profile io wait time route.
rabbitmq
Package rabbitmq is a go wrapper for github.com/rabbitmq/amqp091-go
Package rabbitmq is a go wrapper for github.com/rabbitmq/amqp091-go
replacer
Package replacer is a library of replacement file content, supports replacement of files in local directories and embedded directory files via embed.
Package replacer is a library of replacement file content, supports replacement of files in local directories and embedded directory files via embed.
servicerd/discovery
Package discovery is service discovery library, supports etcd, consul and nacos.
Package discovery is service discovery library, supports etcd, consul and nacos.
servicerd/registry
Package registry is service registry library, supports etcd, consul and nacos.
Package registry is service registry library, supports etcd, consul and nacos.
servicerd/registry/consul
Package consul is registered as a service using consul.
Package consul is registered as a service using consul.
servicerd/registry/etcd
Package etcd is registered as a service using etcd.
Package etcd is registered as a service using etcd.
servicerd/registry/nacos
Package nacos is registered as a service using nacos.
Package nacos is registered as a service using nacos.
sgorm
Package sgorm is a library encapsulated on gorm.io/gorm
Package sgorm is a library encapsulated on gorm.io/gorm
sgorm/dbclose
Package dbclose provides a function to close gorm db.
Package dbclose provides a function to close gorm db.
sgorm/glog
Package glog provides a gorm logger implementation based on zap.
Package glog provides a gorm logger implementation based on zap.
sgorm/mysql
Package mysql provides a gorm driver for mysql.
Package mysql provides a gorm driver for mysql.
sgorm/postgresql
Package postgresql provides a gorm driver for postgresql.
Package postgresql provides a gorm driver for postgresql.
sgorm/query
Package query is a library of custom condition queries, support for complex conditional paging queries.
Package query is a library of custom condition queries, support for complex conditional paging queries.
sgorm/sqlite
Package sqlite provides a gorm driver for sqlite.
Package sqlite provides a gorm driver for sqlite.
shield/circuitbreaker
Package circuitbreaker is an adaptive circuit breaker library, support for use in gin middleware and grpc interceptors.
Package circuitbreaker is an adaptive circuit breaker library, support for use in gin middleware and grpc interceptors.
shield/cpu
Package cpu is a library that calculates cpu and memory usage.
Package cpu is a library that calculates cpu and memory usage.
shield/ratelimit
Package ratelimit is an adaptive rate limit library, support for use in gin middleware and grpc interceptors.
Package ratelimit is an adaptive rate limit library, support for use in gin middleware and grpc interceptors.
shield/window
Package window is a library that calculates windows cpu and memory usage.
Package window is a library that calculates windows cpu and memory usage.
sql2code
Package sql2code is a code generation engine that generates CRUD code for model, dao, handler, service, protobuf based on sql and supports database types mysql, mongodb, postgresql, sqlite3.
Package sql2code is a code generation engine that generates CRUD code for model, dao, handler, service, protobuf based on sql and supports database types mysql, mongodb, postgresql, sqlite3.
sql2code/parser
Package parser is a library that parses to go structures based on sql and generates the code needed based on the template.
Package parser is a library that parses to go structures based on sql and generates the code needed based on the template.
sse
stat
Package stat provides for counting system and process cpu and memory information, alarm notification support.
Package stat provides for counting system and process cpu and memory information, alarm notification support.
stat/cpu
Package cpu is a library that counts system and process cpu usage.
Package cpu is a library that counts system and process cpu usage.
stat/mem
Package mem is a library that counts system and process memory usage.
Package mem is a library that counts system and process memory usage.
tracer
Package tracer is a library wrapped in go.opentelemetry.io/otel.
Package tracer is a library wrapped in go.opentelemetry.io/otel.
utils
Package utils is a library of commonly used utility functions.
Package utils is a library of commonly used utility functions.
ws
Package ws provides a websocket server implementation.
Package ws provides a websocket server implementation.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL