hanagantig / goro Goto Github PK
View Code? Open in Web Editor NEWGenerate GO project layout with essential boilerplate code
License: Other
Generate GO project layout with essential boilerplate code
License: Other
In addition to http and grpc there is should be a way to generate also amqp handlers. It should generate all boilerplate code with connecting, publishing and consuming + flexible way to run handlers (listeners) and bind it with UseCases
Add needed unit tests for generated boilerplate code
Now we have only init command which generates whole project. But quite often we are faced with writing a new UseCase method for an existing project.
It will generate a boilerplate code for just adding single UseCase method with all dependencies
Has to be a new goro command
Goro should be able to generate GitHub CI/CD pipelines with linter and unit tests by provided goro.yaml config
Maybe should add link to Youtube video?
Архитектура Go проекта на практике - https://www.youtube.com/watch?v=hDwqFRUuykQ
Now we have only init
command which generates whole project. But quite often we are faced with writing a new service method for an existing project.
It will generate a boilerplate code for just adding single service method with all dependencies and will save a lot of time
Has to be a new goro command
Now we have only init command which generates whole project. But quite often we are faced with writing a new Adapter (repository) for an existing project.
It will generate a boilerplate code for just adding single Adapter (repository) with all provided configurations
How will it work?
Has to be a new goro command or just use single command to apply updated config
Add to the layout openTelemetry implementation
It should have flexible configurations with ability to trace all infrastructure layers (databases, http, grpc, amqp... connections).
Also should provide an easy way to trace business logic
By design storages injects in repositories to provide access to data.
Currently supported storages:
storages:
- mysql
- mysqlx
- pgsqlx
Repositories needs to access data with HTTP storage (for example web API call)
Update go version and use slog logger for the app
Implement needed boilerplate to evaluate API tests in table test style
Now we have only init command which generates whole project. But quite often we are faced with writing a new Service for an existing project.
It will generate a boilerplate code for just adding single Service with all provided configurations
How will it work?
Has to be a new goro command or just use single command to apply updated config
Generate all needed code and environment to evaluate integration tests (for instance tests for repositories which query a real database instance in container)
Currently there is no way to generate GRPC handlers (only http handlers available). It should be possible to configure our routes in goro.yaml and bind it with different handlers (in this case with GRPC)
With such a feature to configure routes with different protocols we can easily use the same use case method via various transports.
There should be a way to configure usecases to access with needed protocol. Proto file url also has to be provided in config. goro init command should generate grpc server, generate all boilerplate code to run the server with provided proto and use case methods bindings.
The config could look like this:
handlers:
v1:
proto_file: "path/to/file"
routing:
- operation: operationID
use_case: GetClients
protocols: [http, grpc]
- operation: signIN
use_case: SignUp
protocols: [grpc]
In default config delete mysql
and mysqlx
, use postgres
in as storage in adapters, and run goro init --config goro.yaml
:
Enter an app work dir or leave it empty to use current directory:
chain #1: Fit file names
✔ Enter an app work dir or leave it empty to use current directory: █
chain #3: Generate services chain
chain #4: Generate useCase chain
chain #5: Generate code
Generate code fail: 49:32: expected type, found ')'ERR 49:32: expected type, found ')'
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.