go-doudou
go-doudou(doudou pronounce /dəudəu/)is OpenAPI 3.0 (for REST) spec and Protobuf v3 (for grpc) based lightweight microservice framework. It supports monolith service application as well.
File Explorer
Download Latest Version (.zip)- go.yml
- codecov.yml
- dependabot.yml
- dao.go
- daosql.go
- dto.go
- entity.go
- idao.go
- columnenum.go
- config.go
- ast.go
- extraenum.go
- keyenum.go
- nullenum.go
- sortenum.go
- ddl.go
- ddl_test.go
- table.go
- table_test.go
- base.go
- order.go
- user.go
- base.go
- book.go
- publisher.go
- user.go
- base.go
- book.go
- publisher.go
- user.go
- base.go
- book.go
- publisher.go
- user.go
- test_ddl_user.sql
- go.mod
- .env
- exec.go
- dto.go
- enums_gen.go
- generator.go
- generator_test.go
- version.go
- work.go
- work_test.go
- vo.go
- vo1.go
- vo2
- exec.go
- exec_test.go
- go.go
- go_test.go
- swaggerV2ToV3.json
- svc.go
- svc_test.go
- customerclient.go
- downloadclient.go
- pageclient.go
- petclient.go
- signclient.go
- storeclient.go
- textclient.go
- unipayclient.go
- uploadclient.go
- userclient.go
- vo.go
- api-docs.json
- petstore3.json
- prometheus_openapi3.json
- swagger.json
- test1.json
- test2.json
- test3.json
- test4.json
- test5.json
- common.go
- common_test.go
- server.go
- common.go
- gorm.go
- gorm_test.go
- client.go
- clientproxy.go
- iclient.go
- main.go
- config.go
- dto.go
- base.go
- user.go
- usersvc.proto
- handlerimpl.go
- enum.go
- vo.go
- vo1.go
- vo2.go
- vo3.go
- vo4.go
- corpus_deployment.yaml
- corpus_statefulset.yaml
- go.mod
- k8s.yaml
- svc.go
- svcimpl.go
- svcp.go
- testcode.postman_collection.json
- usersvc_openapi3.go
- usersvc_openapi3.json
- config.go
- config_test.go
- db.go
- db_test.go
- grpcannotation.go
- grpchttpmain.go
- grpcmain.go
- grpcmod.go
- grpcproto.go
- http.go
- http2grpc.go
- httpclient.go
- httpclient_test.go
- httpclientproxy.go
- httpclientproxy_test.go
- httphandler.go
- httphandler_test.go
- httphandlerimpl.go
- httphandlerimpl_test.go
- httpiclient.go
- httpiclient_test.go
- httpintegrationtesting.go
- httpintegrationtesting_test.go
- httpmiddleware.go
- httpmiddleware_test.go
- init.go
- init_test.go
- k8sdeployment.go
- k8sdeployment_test.go
- k8sstatefulset.go
- k8sstatefulset_test.go
- main.go
- main_test.go
- mainmodule.go
- plugin.go
- svcimpl.go
- parser.go
- change.go
- svc.go
- svc.go
- svc.go
- svc.go
- testfilesdoc1_openapi3.json
- dto.go
- usersvc.pb.go
- usersvc.pb.json.go
- usersvc.proto
- usersvc_grpc.pb.go
- svc.go
- vo.go
- svc.go
- svcp.go
- testfilesdoc1_openapi3.json
- usersvc_deployment.yaml
- usersvc_statefulset.yaml
- validate.go
- svc.go
- svc_test.go
- header.go
- mainmain.go
- mainmodule.go
- mainpkgmod.go
- plugin.go
- mock_executils_runner.go
- mock_promptui_select_interface.go
- mock_svc.go
- init.go
- work.go
- client.go
- clientproxy.go
- iclient.go
- main.go
- config.go
- db.go
- handler.go
- handlerimpl.go
- middleware.go
- enums_gen.go
- vo.go
- .env
- .gitignore
- Dockerfile
- svc.go
- svcimpl.go
- testsvc_openapi3.go
- testsvc_openapi3.json
- client.go
- client_test.go
- crud.go
- ddl.go
- ddl_test.go
- deploy.go
- enum.go
- enum_test.go
- grpc.go
- http.go
- httptest.go
- init.go
- name.go
- name_test.go
- promptui_select_interface.go
- push.go
- root.go
- root_test.go
- run.go
- shutdown.go
- shutdown_test.go
- svc.go
- svc_test.go
- version.go
- version_test.go
- buildinfo.go
- 2qcache.go
- 2qcache_test.go
- arccache.go
- arccache_test.go
- base.go
- base_test.go
- cachemanager.go
- item.go
- item_test.go
- lrucache.go
- lrucache_test.go
- config.go
- config_func_test.go
- config_test.go
- default.go
- dynamic.go
- apollo_client_interface.go
- mock_apollo_client_interface.go
- mock_config_client_interface.go
- apollo.go
- apollo_test.go
- nacos.go
- nacos_test.go
- cacheradapter.go
- cacheradapter_test.go
- constants_test.go
- database.go
- marshaler.go
- marshaler_test.go
- api.go
- balancer.go
- config.go
- LICENSE
- nacos.go
- README.md
- balancer.go
- balancer_test.go
- config.go
- config_test.go
- LICENSE
- README.md
- zk.go
- zk_test.go
- auth_test.go
- auth.go
- ratelimit_test.go
- ratelimit.go
- server.go
- server_test.go
- configure.go
- configure_test.go
- entry.go
- entry_test.go
- plugin.go
- plugin_test.go
- LICENSE
- memorystore.go
- memorystore_test.go
- rate.go
- rate_test.go
- gcralimiter.go
- LICENSE
- lua.go
- limit.go
- limit_test.go
- limiter.go
- constants.go
- balancer.go
- node.go
- node_test.go
- interfaces.go
- balancer.go
- config.go
- config_test.go
- delegate.go
- delegate_test.go
- eventdelegate.go
- eventdelegate_test.go
- node.go
- resolver.go
- serviceprovider.go
- serviceprovider_test.go
- mock_naming_client_interface.go
- naming_client_interface.go
- node.go
- node_test.go
- node.go
- node_test.go
- endpoint.go
- endpoint_test.go
- LICENSE
- serverset.go
- serverset_test.go
- watch.go
- watch_test.go
- utils.go
- utils_test.go
- node.go
- node_test.go
- node.go
- node_test.go
- .travis.yml
- LICENSE
- README.md
- routegroup.go
- routegroup_test.go
- router.go
- router_test.go
- lazyre.go
- lazyre_test.go
- goresilience_runner_interface.go
- mock_goresilience_runner_interface.go
- encode.go
- filter.go
- legacy_profile.go
- legacy_profile_test.go
- merge.go
- profile.go
- profile_test.go
- proto.go
- proto_test.go
- prune.go
- bizerror.go
- bizerror_test.go
- confighandler.go
- dochandler.go
- docindex.go
- form.go
- form_test.go
- gateway.go
- memberlistuihandler.go
- memberlistuiindex.go
- middleware.go
- middleware_test.go
- model.go
- model_jsontest.go
- model_test.go
- model_test_json.go
- pprof.go
- promhandler.go
- prommiddleware.go
- server.go
- validate.go
- validate_test.go
- restclient.go
- restclient_test.go
- change.go
- svc.go
- svc.go
- svc.go
- svc.go
- testfilesdoc1_openapi3.json
- svc.go
- vo.go
- svc.go
- svcp.go
- testfilesdoc1_openapi3.json
- usersvc_deployment.yaml
- usersvc_statefulset.yaml
- tracer.go
- tracer_test.go
- framework.go
- version.go
- .gitignore
- app.yml.example
- benchmark.png
- go-doudou-qq-group.png
- go-doudou-wechat-group.png
- go.mod
- go.sum
- LICENSE
- main.go
- qrcode.png
- README.md
- README_zh.md
# Installation Guide
1. Get the code
git clone https://github.com/unionj-cloud/go-doudou
Downloads the entire project code from GitHub to your computer.
cd go-doudou
Moves into the project folder you just downloaded.
2. Docker
Easy RecommendedPrerequisites
- Git Needed to download the project code from GitHub.
- Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
⚠️ This is a large repository, so this method may point to an internal sub-package rather than the actual core product. Check the full README as well.
docker build -f cmd/testdata/testsvc/Dockerfile -t go-doudou .
Builds a runnable image based on the Dockerfile.
docker run -p 8080:80 go-doudou
Runs the built image as an actual container.
Run docker compose ps to check the containers are Up. If the README mentions a port, open http://localhost:PORT in your browser.
3. Go
MediumPrerequisites
cd cmd/internal/ddl/testdata
This project's files live in a subfolder, so move into it first.
go build ./...
Compiles the Go program into an executable.
go run .
Runs the Go program directly without a separate build step.
If the build finishes without errors, it worked. If you used go run ., check the terminal output.
// repository documentation
Was this content helpful?
(0 ratings)
