sponge

package module
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2023 License: MIT Imports: 0 Imported by: 0

README

sponge 中文文档

Go Report codecov Go Reference Go

sponge is a powerful tool for generating code for web and microservice projects, and a microservice framework based on gin and grpc packaging. sponge has a rich set of code generation commands, generating a total of 12 different functional codes that can be These can be combined into a complete service (similar to a sponge cell that can be automatically reassembled into a new sponge). Microservice code features include logging, service registration and discovery, registry, flow limiting, fusing, link tracking, metrics monitoring, pprof performance analysis, statistics, caching, CICD and more. The code decoupled modular design makes it easy to build complete project code from development to deployment, making it more convenient, easy and efficient to develop projects using the go language.


sponge generates the code framework

The generated code is based on three approaches Yaml, SQL and Protobuf, each possessing different functional code generation, and the framework diagram of the generated code is shown in Figure 1-1.

Figure 1-1 sponge generation code framework diagram


Microservices framework

The microservice code framework created by sponge is shown in Figure 1-2, this is a typical microservice hierarchy with high performance, high scalability, and includes common service governance features.

Figure 1-2 Microservices framework diagram


Online code generation demo

Online code generation demo: https://go-sponge.com/ui

💡 Warning.

Some of the generated code requires mysql account and password, do not try here to avoid the risk of being exposed. Server resources are limited and may not be available later. It is recommended to download the sponge binary and run the UI service to get the same generated code interface.


Installation


Quick start

Once you have installed sponge and the dependencies, you are ready to go, start the ui service from the command line:

sponge run

Visit http://localhost:24631 in your browser, 12 types of codes can be generated.


Example of sql based web project code generation.

After downloading the web project code, execute the command to start the service.

# update swagger
make docs

# build and run
make run

💡 If you don't want to use the UI interface, you can use the sponge command line to generate code. There is a wealth of examples in the command line helper information, and some of the code generation commands are more convenient than using the UI interface.


Documentation

sponge usage documentation


If it's help to you, give it a star ⭐.


License

See the LICENSE file for licensing information.


Documentation

Overview

Package sponge is a microservice framework, a tool for quickly creating microservice code. sponge has a rich generating code commands, a total of 12 different functional code, these functional code can be combined into a complete service (similar to artificially broken sponge cells can be automatically reorganized into a new sponge ). Microservice code features include logging, service registration and discovery, registry, rate limit, circuit breaker, trace, metrics monitoring, pprof performance analysis, statistics, caching, CICD. The code uses a decoupled layered structure and it's easy to add or replace functional code. As an efficiency-enhancing tool, commonly repeated code is basically generated automatically and only business logic code needs to be populated based on the generated template code examples.

https://github.com/zhufuyi/sponge/blob/main/README.md

sponge -h
sponge a microservice framework, a tool for quickly creating microservice code.

Usage:
sponge [command]

Available Commands:
completion  Generate the autocompletion script for the specified shell
config         Generate go config codes from yaml file
help           Help about any command
init            Initialize sponge
micro        Generate proto, model, dao, service, rpc, rpc-gw, rpc-cli codes
tools         Managing sponge dependency tools
update      Update sponge to the latest version
web          Generate model, dao, handler, http codes

Directories

Path Synopsis
api
cmd
sponge command
Package docs GENERATED BY SWAG; DO NOT EDIT This file was generated by swaggo/swag
Package docs GENERATED BY SWAG; DO NOT EDIT This file was generated by swaggo/swag
internal
dao
pkg
app
container/group
Package group provides a sample lazy load container.
Package group provides a sample lazy load container.
jwt

Jump to

Keyboard shortcuts

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