Work collaboratively without sharing with code

Hi Everyone,

We have a project where we want others to contribute but we don’t want to share the complete code. Consider there are modules that are linked with each other but we don’t need to share the code.

Let me know if someone has encountered this situation in the past in WFH time.

Did you already consider introducing Git Submodules?

Can you share some examples, AFAIK, you have to share the access for the module?

In case Modules are interrelated to each other, how will they work?

@mixmatric this is one good use Case for Microservices. You define the “Interfaces” (e.g. Rest endpoints or DDP methods) and what they should do and allow the Team/Client to implement the Services in their own realm.

Regarding submodules I highly suggest the GitHub Docs, they are really great in explaininh git concepts in a practical manner.

2 Likes

Can you please elaborate what you mean with (1) “module” and (2) “linked with each other”? Is this a Meteor project in the first place? Are these modules client only, server only or both client and server? How is a new module written by a contributor to interface with the rest of your system? Can a module be (internally) published as a npm package? Can/shall/should it be deployed in a separate Node.js process and be used asynchronously as a microservice?

There are a million ways into this. Give us something, describe exactly what type of thing a contributor needs to achieve, and what they may and what they may not see from or know about the rest of your system, and how these modules are expected to interface with it.

If you don’t want them to interact with your code directly you’d need to share an API.

Can you please elaborate what you mean with (1) “module” and (2) “linked with each other”? Is this a Meteor project in the first place? Are these modules client only, server only or both client and server?

  • You can consider it as a Social Media Web App similar to what we have seen in Facebook. Modules linked are like sign-in module and then there are other pages opens up based on the content authorized by the user.

How is a new module written by a contributor to interface with the rest of your system? Can a module be (internally) published as an npm package? Can/shall/should it be deployed in a separate Node.js process and be used asynchronously as a microservice?

  • As of now there is no packages & microservices are being used. Please consider it as an independent entity.

Let me know if more clarity required