CovidWorld / server

MIT License
17 stars 9 forks source link

Multiple issues encouterred #7

Open lyra-halcyon opened 4 years ago

lyra-halcyon commented 4 years ago

First I would thank you for the effort made building this. It's an interresting initiative, however I would like to point the lack of documentation, not easy to understand what does what,etc. Also would precise that I'm a java developer, no experience at all with dotnet, c#...

I managed to run the server locally on a Windows machine, using Visual Studio Code, added a settings.json file in the root folder providing all necessary variables. The android app also works and is set up.

I'm tunneling to my localhost so that I can connect using and android device.

But I'm running into many errors :

A host error has occurred during startup operation 'd7e45bb4-43fc-4f9f-95b5-4d24c8dbf49f'. Sygic.Corona.Api: Could not load file or assembly 'Microsoft.Extensions.DependencyInjection.Abstractions, Version=3.1.3.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. File was not found. System.Private.CoreLib: Could not load the specified file. Value cannot be null. Parameter name: provider

Tried everything, even installing Microsoft.Extensions.DependencyInjection.Abstractions using NuGet When the above error message arises, I can't start server anymore,it will fail to that error again and again.

I know you may be busy with your work, but please assist

esQmo commented 4 years ago

@Daziko same problem here. Would you kindly help set things up? What's the point of open sourcing a project then leaving people struggle trying to make it work without any documentation, guide etc? Open source projects don't look like this!!!

The server keeps returning status 202 whatever I do! I can't pass the welcome screen. Everything from both client and server is set up and running correctly (I can only assume that because no guidance is provided).

esQmo commented 4 years ago

I can't pass this screen on Android device. The server keeps returning status 202 while the device is waiting for status 200. Can you help troubleshoot this when you get a chance? @tomaspetrasek

PS: Using ngrok to tunnel to localhost as I'm testing locally. Note that same behavior occurred when deployed on Azure

Screenshot_20200426-231744_COVID-19

Daziko commented 4 years ago

@Daziko same problem here. Would you kindly help set things up? What's the point of open sourcing a project then leaving people struggle trying to make it work without any documentation, guide etc? Open source projects don't look like this!!!

The server keeps returning status 202 whatever I do! I can't pass the welcome screen. Everything from both client and server is set up and running correctly (I can only assume that because no guidance is provided).

Hi this response certainly not come from "covid server". Maybe is from firebase? I can only give you some general advice how to debug and solve issue. So first run server locally and try to call it from postman (you can set up some brake points in order to see what's happening ). When everything is ok deploy to the azure and repeat those postman calls against deployed functions. Second ensure you have setup application insights in your server. In application insights you can see incoming requests and their particular response, exceptions etc. It is very helpful. Next you can start the app and start to call server from app. If you see some issues or wrong request go to the application insights and check the logs or call locally via your tunnel and check if you hit particular part of code via brake points.

Daziko commented 4 years ago

First I would thank you for the effort made building this. It's an interresting initiative, however I would like to point the lack of documentation, not easy to understand what does what,etc. Also would precise that I'm a java developer, no experience at all with dotnet, c#...

I managed to run the server locally on a Windows machine, using Visual Studio Code, added a settings.json file in the root folder providing all necessary variables. The android app also works and is set up.

I'm tunneling to my localhost so that I can connect using and android device.

But I'm running into many errors :

  • I the app, when launched,I'm getting status 202 meaning the request was accepted but it needs further processing because the status shows: "started" and the error dialog pops up.
  • In the server, sometimes it won't start with the following message error in the log:

A host error has occurred during startup operation 'd7e45bb4-43fc-4f9f-95b5-4d24c8dbf49f'. Sygic.Corona.Api: Could not load file or assembly 'Microsoft.Extensions.DependencyInjection.Abstractions, Version=3.1.3.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. File was not found. System.Private.CoreLib: Could not load the specified file. Value cannot be null. Parameter name: provider

Tried everything, even installing Microsoft.Extensions.DependencyInjection.Abstractions using NuGet When the above error message arises, I can't start server anymore,it will fail to that error again and again.

I know you may be busy with your work, but please assist

I tried it on 2 different pc and this error never occurred. So you probably somehow screwed references (you can try to delete obj and bin folders and run dotnet restore). So I advice you to fresh clone of the protect setup local emulators for storage account and cosmos. Then try to run server locally and test it from postman.

esQmo commented 4 years ago

Dobrý deň, ďakujem za odpoveď @Daziko

As I said above, I spent days trying to set up everything. The response is coming from Covid server as I only set apiUrl variable points to the server url (localhost tunneled with Ngrok). Firebase works correctly because I can receive the push token and that token is passed to the api call along with deviceId but the server returns 202 Accepted, same when trying with Postman. I also run Azure Cosmos Emulator locally

Example of a request

But I got somehow confused with the fact that function url are different from the one called from mobile client: Http functions exposed are like this: image

But the app calls are different: image

When trying to call from Postman by using the function url, I get error 500 each time. I would like to point that I was able to get log only this way. The client never hit any breakpoint set in the server

image

Here is the log with the error: image

Oh and I would like to point that no database is being created in the zure Cosmos Emulator. But it is working as I could use their sample app which created the Database and the

I won't deny it, I'm not experienced with dotnet, azure functions nor C# so I may be doing things wrong, that's why I need to borrow your precious time to get some guidance. Setting up should net be such a tough process, I would've rather start a project from scratch, it would be easy.

Prosím pomôžte mi

Daziko commented 4 years ago

But I got somehow confused with the fact that function url are different from the one called from mobile client:

You have to adjust url (doesn't matter if on server or client site) because we are using API proxy. So in app for example for createProfile just change "profile" -> "CreateDeviceProfile".

Oh and I would like to point that no database is being created in the zure Cosmos Emulator.

You need co create DB, container and partition key (/ProfileId) manualy. Or you can call this method https://github.com/CovidWorld/server/blob/a61aa004421ed076f1b4124e5df1f7ebd4e37af8/Sygic.Corona.Admin/Startup.cs#L79

Here is the log with the error:

Error say that in startup.cs (dependency injection composition root) App cannot resolve mediatr. So you probably changed some namespace on Application project or you change nuget references. Here is the crucial line where you can investigate https://github.com/CovidWorld/server/blob/a61aa004421ed076f1b4124e5df1f7ebd4e37af8/Sygic.Corona.Profile/Startup.cs#L46

I'm not experienced with dotnet, azure functions nor C#

But definitely you need .net/azure guy in your team because unfortunately I don't have time and capacity to support lack of man power in your team.

esQmo commented 4 years ago

Well, this is what makes me wonder if you really want people use your project or not! How would one GUESS all of these ? No one asks you to "support the lack of man power in your team" rather take one minute and provide a setup process! This was rude and useless! If you provided a documentation, no one would bother begging for your help!

Anyway thanks for the superficial support.

lyra-halcyon commented 4 years ago

@Daziko Is this an open source project with such arrogance??? TAKE THIS DOWN ALREADY and never open-sourcing any project in the future