anitab-org / bridge-in-tech-backend

BridgeInTech (BIT) is an application that allows organizations, mentors and mentees to actively collaborate through mentoring programs. This is the backend client of BridgeInTech.
https://bridgeintech-bit-heroku-psql.herokuapp.com/
GNU General Public License v3.0
24 stars 80 forks source link

Research : protocol buffers #228

Open epicadk opened 3 years ago

epicadk commented 3 years ago

Is your feature request related to a problem? Please describe.

Currently the app uses sends and receives JSON data. While this is fine when we send/receive data to/from the user (as JSON is human readable) the calls to the mentorship backend do not need to be human readable and can be in the binary form.

Describe the solution you'd like

Research on the possibility of using protocol buffers and write a doc. In your doc include the advantages / disadvantages of protobufs over JSON and vice versa in context with BIT (You do not need to propose an implementation).

Describe alternatives you've considered

You could also include a comparison with any other standard that you think would be better (eg. flat buffers) ( This would be optional and not required).

epicadk commented 3 years ago

Putting status on hold. Needs discussion with @mtreacy002.

mtreacy002 commented 3 years ago

@epicadk , is this because for better security? I agree, it would be an interesting topic. Although probably would only be implemented once we already have a stable version in the production (so we still have a long way to go). Especially since there aren't many resources out there to support us in developing this way (protobuf) compared to in json. I reckon we should put this in icebox and revisit it (the discussion) when we are ready. I feel discussing it too early will be redundant since by the time we ready to implement and revisit this topic in the future, there'll be an improved methods and resources available to us. I like to have OSH to focus on the closer issues, such as remote servers alternative, users' micro service, and alternative to keeping user data in cookies. Let me know what you think.

epicadk commented 3 years ago

It's not for security it is just an enhancement. It would reduce the size of the requests to the mentorship backend making these calls faster and wouldn't require as much code for validating the schema. Hmm yes I agree I think we can revisit this later.

matsy commented 1 year ago

@mtreacy002 Is someone working on this?