social-platform-donut-backend icon indicating copy to clipboard operation
social-platform-donut-backend copied to clipboard

Client Libraries for Donut API Server

Open kmehant opened this issue 4 years ago • 9 comments

About

There is a possibility to use Donut as a micro-service within a huge application, in such scenarios providing client libraries would be helpful for developers for easy integration of Donut within their applications. We can cover relevant Donut features within the client libraries. We can provide these in various language options like JS, python, go, PHP, and others.

kmehant avatar Jul 09 '20 10:07 kmehant

@jaskiratsingh2000 @devesh-verma @vaibhavdaren What do you think about this feature (Client Library: API wrapping).

PS: I have good experience in writing client libraries.

kmehant avatar Jul 09 '20 10:07 kmehant

Looks amazing to me. Here I would like to have a pointing thoughts from our current GSoCers who are actually working in the same process. @Rupeshiya and @AuraOfDivinity what do you think about this?

jaskiratsingh2000 avatar Jul 09 '20 11:07 jaskiratsingh2000

Hi, I think it's good to have but I am not sure how will it be useful for donut platform as it's only like wrapping up the APIs for easy consumption. Also as DONUT will be a self-hosted platform so if any community wants to use it then they should have to install it on their server instead of integrating it.

Rupeshiya avatar Jul 09 '20 12:07 Rupeshiya

Hi, I think it's good to have but I am not sure how will it be useful for donut platform as it's only like wrapping up the APIs for easy consumption. Also as DONUT will be a self-hosted platform so if any community wants to use it then they should have to install it on their server instead of integrating it.

@jaskiratsingh2000 @Rupeshiya other than easy consumption we will have many production ready features like rate limiting, timeouts and retry mechanisms.

If donut is planned to be a self hosted server, then it is highly useful to have client libraries. Self hosted does mean having their own copy of server running and integrating it to their application base ( which can be in any language) will surely consume the language specific client libraries. Does it sound useful, @Rupeshiya thoughts?

kmehant avatar Jul 09 '20 12:07 kmehant

@Rupeshiya bridging to the point self hosted I guess we should give necessary infra for the people to use for their on-premise deployments, container images would be a partial work for this (which I have completed ✌️) and there is more configurations to be provided for orchestration, monitoring and alerting systems within the infra. Which would help community to make best use of self hosting of Donut. Where we can discuss the archi and move forward. PS: I can work on this part too

kmehant avatar Jul 09 '20 12:07 kmehant

We can surely do this in the future but my current target is the security layer and caching layer.

vaibhavdaren avatar Jul 09 '20 16:07 vaibhavdaren

Todo:- [1] Structure code in a way wrapping up is possible. [2] Write microservices for each module with security. [3] Set up local logstash and kibana. ...

vaibhavdaren avatar Jul 09 '20 16:07 vaibhavdaren

We can surely do this in the future but my current target is the security layer and caching layer.

@vaibhavdaren I have some experience in implementing cache layers for Servers, are you looking at using a key-value store for caching for example using a Redis sentinel or cluster or simply redis single instance?

kmehant avatar Jul 09 '20 16:07 kmehant

@vaibhavdaren Why can't we go for it now? Maybe we could give away a green flag to him to take this up if he is interested. I would personally say he should take this up and wok accordingly.

jaskiratsingh2000 avatar Jul 09 '20 18:07 jaskiratsingh2000