You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+41-42Lines changed: 41 additions & 42 deletions
Original file line number
Diff line number
Diff line change
@@ -15,28 +15,27 @@
15
15
16
16
</div>
17
17
18
-
**Sponge** is a powerful `Go` development framework. Its core concept is to generate modular code by parsing `SQL`, `Protobuf`, or `JSON` files in reverse, these modular codes can be flexibly combined into various types of complete backend services (`similar to the characteristics of sponge cells, where disassembled sponge cells can automatically recombine into a new sponge`).
19
-
20
-
Sponge offers outstanding project engineering capabilities, providing an all-in-one project development solution that covers code generation, development, testing, API documentation generation, and deployment. Sponge deeply integrates a modular architecture with an AI assistant to significantly enhance development efficiency and reduce technical barriers, empowering developers to easily build stable and reliable backend systems using a "low-code" approach.
18
+
**Sponge** is a powerful and easy-to-use `Go` development framework. Its core concept is to reverse-generate modular code by parsing `SQL`, `Protobuf`, and `JSON` files. These modular components can be flexibly combined into various types of complete backend services. Featuring a modular architecture and deeply integrated AI assistant, sponge significantly improves development efficiency and lowers the technical barrier, enabling the effortless construction of high-performance, highly available backend systems through a low-code approach.
21
19
22
20
<br>
23
21
24
22
### Applicable Scenarios
25
23
26
-
Sponge is suitable for rapidly building various types of high-performance backend services, including but not limited to:
24
+
**Sponge** is ideal for rapidly building various types of high-performance backend services. Applicable scenarios include:
27
25
28
-
-`RESTful API` services
29
-
-`Web` services (Gin-based)
30
-
-`gRPC` services
31
-
-`HTTP+gRPC` hybrid services
32
-
-`gRPC Gateway API` services
33
-
-`cloud-native` microservices
26
+
* Developing internal enterprise API services
27
+
* Quickly building microservices
28
+
* Creating APIs for backend management systems
29
+
* Building gRPC services for inter-service communication
30
+
* Serving as a starting point for Go beginners or teams to learn Go project structure and best practices
31
+
* Supporting teams that need to improve development efficiency and standardize coding practices
32
+
* Cloud-native development
34
33
35
-
Additionally, developers can use custom templates to generate various types of code to meet specific business needs.
34
+
In addition, developers can generate business-specific code by customizing templates.
36
35
37
36
<br>
38
37
39
-
### Core Advantages
38
+
### Key Features
40
39
41
40
1.**One-click generation of complete backend service code**
42
41
For `Web` or `gRPC` services that only require `CRUD APIs`, no `Go` code needs to be written. Simply connect to a database (e.g., `MySQL`, `MongoDB`, `PostgreSQL`, `SQLite`) to one-click generate complete backend service code and easily deploy it to Linux servers, Docker, or Kubernetes.
@@ -71,7 +70,7 @@ Additionally, developers can use custom templates to generate various types of c
71
70
72
71
1.**Install sponge**
73
72
74
-
Sponge supports installation on Windows, macOS, and Linux. Click to view the [**sponge installation guide**](https://github.com/go-dev-frame/sponge/blob/main/assets/install-en.md).
73
+
Sponge supports installation on Windows, macOS, Linux and Docker. Click to view the [**sponge installation guide**](https://github.com/go-dev-frame/sponge/blob/main/assets/install-en.md).
75
74
76
75
2.**Open the code generation UI**
77
76
@@ -87,7 +86,7 @@ Additionally, developers can use custom templates to generate various types of c
> To access from a browser on a different host, specify the host IP or domain when starting the UI, e.g., `sponge run -a http://your_host_ip:24631`. Alternatively, you can run the UI service in Docker to support cross-host access. Click to view the guide on [running the sponge UI service in Docker](https://github.com/go-dev-frame/sponge/blob/main/assets/install-en.md#Docker%E7%8E%AF%E5%A2%83).
89
+
> To access from a browser on a different host, specify the host IP or domain when starting the UI, e.g., `sponge run -a http://your_host_ip:24631`.
| AI assistant [DeepSeek](https://deepseek.com), [ChatGPT](https://chatgpt.com), [Gemini](https://gemini.google.com)|[example](https://github.com/go-dev-frame/sponge/blob/main/cmd/sponge/commands/assistant/generate.go#L44)|
127
126
128
127
<br>
129
128
130
129
### Code Generation Engine
131
130
132
-
The code generation engine of sponge supports two methods for generating the required project code: **built-in templates** and **custom templates**. Below are the framework diagrams for both approaches.
131
+
**Sponge** offers powerful code generation capabilities, supporting both `built-in templates` and `custom templates` to quickly generate the code required for your project. It also integrates an `AI assistant` to help generate business logic code.
133
132
134
-
1.The framework for code generation based on built-in templates in sponge is shown below, supporting both SQL and Protobuf formats.
133
+
1.Sponge generates a code framework based on built-in templates, as shown in the diagram below:
@@ -157,10 +156,10 @@ The code generation engine of sponge supports two methods for generating the req
157
156
158
157
### Microservice framework
159
158
160
-
Back-end services created by sponge are typical microservice architectures. The diagram below illustrates a typical layered microservice structure, featuring high performance, scalability, and built-in service governance capabilities.
159
+
**Sponge** is a modern Go microservice framework that adopts a typical layered microservice architecture. It comes with a rich set of built-in service governance features, enabling developers to quickly build and maintain complex microservice systems. The structure of the framework is shown in the diagram below:
@@ -175,6 +174,12 @@ Click to view the [**test code**](https://github.com/zhufuyi/microservices_frame
175
174
176
175
<br>
177
176
177
+
### sponge Development Guide
178
+
179
+
You're welcome to explore the [complete technical documentation for the Sponge project](https://go-sponge.com/), which provides in-depth coverage of core topics such as code generation, development workflows, system configuration, and deployment strategies.
180
+
181
+
<br>
182
+
178
183
### Project Code Directory Structure
179
184
180
185
The project code directory structure created by sponge follows the [project-layout](https://github.com/golang-standards/project-layout).
@@ -191,11 +196,11 @@ Sponge supports creating three types of project code structures: `Monolithic app
191
196
├── configs # Directory for configuration files
192
197
├── deployments # Bare metal, docker, k8s deployment script directory.
193
198
├── docs # Directory for API interface Swagger documentation.
194
-
├── internal # Directory for business logic code.
199
+
├── internal # Directory for project internal code.
195
200
│ ├── cache # Cache directory wrapped around business logic.
196
201
│ ├── config # Directory for Go structure configuration files.
197
202
│ ├── dao # Data access directory.
198
-
│ ├── database # database directory.
203
+
│ ├── database #Directory for database initialization and migration.
199
204
│ ├── ecode # Directory for system error codes and custom business error codes.
200
205
│ ├── handler # Directory for implementing HTTP business functionality (specific to web services).
201
206
│ ├── model # Database model directory.
@@ -235,15 +240,9 @@ Sponge supports creating three types of project code structures: `Monolithic app
235
240
236
241
<br>
237
242
238
-
### Sponge Development Documentation
239
-
240
-
Click to view [the detailed documentation](https://go-sponge.com/) for Sponge development project, including code generation, development, configuration, and deployment instructions, and more.
243
+
### Examples
241
244
242
-
<br>
243
-
244
-
### Examples of use
245
-
246
-
#### Examples of create services
245
+
#### Sponge Create Server Code Examples
247
246
248
247
-[Create **web** service based on **sql** (including CRUD)](https://github.com/go-dev-frame/sponge_examples/tree/main/1_web-gin-CRUD)
249
248
-[Create **grpc** service based on **sql** (including CRUD)](https://github.com/go-dev-frame/sponge_examples/tree/main/2_micro-grpc-CRUD)
@@ -252,20 +251,20 @@ Click to view [the detailed documentation](https://go-sponge.com/) for Sponge de
252
251
-[Create **grpc gateway** service based on **protobuf**](https://github.com/go-dev-frame/sponge_examples/tree/main/5_micro-gin-rpc-gateway)
253
252
-[Create **grpc+http** service based on **protobuf**](https://github.com/go-dev-frame/sponge_examples/tree/main/_10_micro-grpc-http-protobuf)
254
253
255
-
#### Examples of develop complete project
256
-
257
-
-[Simple community web backend service](https://github.com/go-dev-frame/sponge_examples/tree/main/7_community-single)
258
-
-[Simple community web service broken down into microservice](https://github.com/go-dev-frame/sponge_examples/tree/main/8_community-cluster)
259
-
260
-
#### Distributed transaction examples
254
+
#### Sponge+DTM Distributed Transaction Examples
261
255
262
256
-[Simple distributed order system](https://github.com/go-dev-frame/sponge_examples/tree/main/9_order-grpc-distributed-transaction)
0 commit comments