Coder Social home page Coder Social logo

bobwanglong / sponge Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zhufuyi/sponge

0.0 0.0 0.0 5.81 MB

sponge is a microservice framework, a tool for quickly generate web and microservice code.

Home Page: https://go-sponge.com

License: MIT License

Shell 1.61% JavaScript 0.01% Go 97.34% Makefile 0.76% HTML 0.08% Dockerfile 0.19%

sponge's Introduction

sponge 中文

Go Report codecov Go Reference Go License: MIT Join the chat at https://gitter.im/zhufuyi/sponge

sponge is a microservice framework and a tool for quickly creating web and microservice code. sponge has a rich set of generated code commands, generating a total of 12 different functional codes that can be combined into complete services (similar to a sponge that has been artificially broken up cells can be automatically reassembled into a new sponge). Microservice code functions include logging, service registration and discovery, registry, flow limiting, fusing, link tracking, metrics monitoring, pprof performance analysis, statistics, caching, CICD and more. The code is decoupled and modular in design, with commonly used code and scripts generated automatically, requiring only business logic code to be written according to the generated templates. The web and rpc services created include complete engineering code and scripts from development to deployment, making development in the go language easier and more efficient.


sponge generates the code framework

The generated code is based on three approaches Yaml, SQL DDL 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 build the same generation code platform locally to use.


Installation

(1) install sponge

go install github.com/zhufuyi/sponge/cmd/sponge@latest

(2) install dependency plugins and tools

sponge init

If there is a dependency tool installation error(except protoc), execute the command to retry sponge tools --install


(3) install protoc

Download it from https://github.com/protocolbuffers/protobuf/releases/tag/v3.20.3 and add the directory where the protoc file is located under system path.


💡 NOTICE:

If you are using windows environment, you need to install some additional dependency tools, see windows dependency tools for installation steps.


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.

💡 NOTICE:

Do not execute the sponge run in the directory where the sponge file is located.


Documentation

sponge usage documentation


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


License

See the LICENSE file for licensing information.


sponge's People

Contributors

gitter-badger avatar zhufuyi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.