TaskoMask icon indicating copy to clipboard operation
TaskoMask copied to clipboard

Combine results from async methods and return synchronously for Aggregator features

Open hamed-shirbandi opened this issue 2 years ago • 10 comments

hamed-shirbandi avatar Dec 23 '22 17:12 hamed-shirbandi

Hi, I am a newbie and I would like to work on this task. I am learning clean architecture so I would like to compliment my knowledge with this task. Please advise me if this is the right choice given my expertise.

jaygastby1991 avatar May 22 '23 15:05 jaygastby1991

Hi @jaygastby1991, It would be great to have you as a contributor. If you have any question about clean architecture, I'm happy to answer, but there is no specific task related to clean architecture. I think reading the documentation and looking at microservices architecture is a good way to know more about it. If you still want to contribute, then this issue is a good choice. Just let me know so I can explain it more

hamed-shirbandi avatar May 23 '23 17:05 hamed-shirbandi

Hi again @hamed-shirbandi , I really want to contribute to the project. I would appreciate if I can have more info about the task.

jaygastby1991 avatar Jun 22 '23 01:06 jaygastby1991

Hi @jaygastby1991, sorry to respond late. I am planing to start developing this repository again, then you always can find me online :) This task refers to ApiGatewaysAggregatorFeatures. There you can find some features that they are aggregating some data from different microservices (like this one) The problem is, aggregator is not able to get the data from microservices asynchronously, so the response will be slow and can be a single point of failure. Take a look here, TaskDetailsViewModel needs data from 3 different APIs (card, comment, activity) but as you see, for each API call I used await keyword which means the rest will be waiting. The solution is to call all the APIs but don't wait for their response, so you can call all the APIs at the same time and combine their results when all the requests are responded. If you need more information, just let me know.

hamed-shirbandi avatar Jul 01 '23 21:07 hamed-shirbandi

Hi @hamed-shirbandi, also sorry for my late reply. I am working on the task assigned. I am tackling it with the WhenAll within the Task class. Am I going in the right direction?

jaygastby1991 avatar Aug 03 '23 15:08 jaygastby1991

Hey @jaygastby1991 Yes, you are doing right, but it is better to open a pull request and push your changes in short commits then I can review your codes and help you better doing it.

hamed-shirbandi avatar Aug 06 '23 20:08 hamed-shirbandi

Hey again. I am having issues running the application. I followed the instructions to start all the infrastructure projects using docker compose, then I tried to start the project using the self-host option. However only the Website (localhost:5009) starts, I can not log in nor see anything else. Kindly ask which projects are essential to start together in order to make TaskoMask work.

jaygastby1991 avatar Dec 14 '23 01:12 jaygastby1991

Hey Jorge, sorry for the late response. I couldn't work a while. It seems we have a lot of issues with running the app! I will let you know when all issues are resolved. Thanks for bringing this to my attention.

hamed-shirbandi avatar Dec 20 '23 20:12 hamed-shirbandi

Thanks a lot, please, kindly keep me updated so I can start contributing!

jaygastby1991 avatar Dec 22 '23 00:12 jaygastby1991

Hey Jorge, now you can run TaskoMask on your machine. First, run the following command, then run all services through Visual Studio and they will work.

...\src\7-Docker> docker-compose -f Infrastructure.yml up -d

Also, if you like to contribute, you can check new issues that I have added recently, some of them are easier for you to start with.

I recommend #173. If you needed more info, just add a comment to that issue. Also, I can give you an example if you want.

Good luck!

hamed-shirbandi avatar Jan 05 '24 16:01 hamed-shirbandi