Skip to content

Collaboration on shareable grpc-spring-boot-starter features #177

Open
@ST-DDT

Description

@ST-DDT

Hi I'm ST-DDT (Core Developer of yidongnan/grpc-spring-boot-starter).

I noticed, that we both implement similar features for both of our libraries, so I would like to propose a collaboration on those features in an independent (github) organization.
For the sake of discussion lets call it grpc-spring for now.

This organization would host repositories for features that could be beneficial for both our projects (and also others).
For a start I considered these features:

  • Security/Authentication/Authorisation (Server + some client parts, if applicable)
  • ExceptionHandling (annotation driven; Server)
  • Spring-Cloud Discovery NameResolverProvider (Client)
  • Spring-Cloud Discovery Service registration (Server)
  • spring-boot-grpc-java-bom (Optional, maybe for our own use)
  • (I'm open for suggestions)

(+ related documentation)

These libraries should hopefully not require spring boot or at least keep it optional.

I don't care who the owner is, but I would like to keep the group id different from both our projects (to not promote one or the other).
Maybe org.grpc_spring?

What I wish to achieve with this organization:

  • Reduce code duplication
  • Keep documentation for shared features in a central place (+maybe explicit permission to reuse/embed it in both our projects)
  • Increase the code usage (more frequently used => less bugs + more features)
    • This includes 3p libraries and frameworks
  • Provide others with the option to share their grpc-spring code (e.g. grpc-spring-security-keycloak)
  • (Optional) Bring both our projects closer together (and maybe merge them in the far future)

Non goals:

  • Copy one's project to the organization, discarding the other
  • Adding annotations for/dependencies to either of our projects

What do you think of my proposal?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions