I would like to hire a ** [login to view URL] ** developer to deliver a very simple App with no skeleton or functionalities at all. I also do not require any design.
What I need is a DotNet Standard 2.0 library which encapsulates the best practices of network connectivity to perform Web Api calls. You need to develop a mechanism to incorporate the 7 required libraries, so that the App only references this encapsulation (DotNet Standard 2.0 library) and performs the Api calls in a simple and reliable/resilient/efficient way, always through this library
Please see the below description for more details.
Please submit your bids ** only ** if you have fully read this description + the attached textfile.
Task: develop a simple [login to view URL] app, which encapsulates the following network functionalities inside a DotNet Standard 2.0 library, which will be consumed by the App itself. After having all the network funcionalities encapsulated in a reusable library, consume 2 random Rest APis to show it working.
- [login to view URL]
- [login to view URL]
Required functionalities to be wrapped inside a DotNet Standard 2.0 library for [login to view URL] / [login to view URL], [login to view URL]:
1) Refit - Refit allows us to define an interface that describes the API that we're calling, and the Refit framework handles making the call to the service and deserializing the return
2) Akavache - Akavache is an asynchronous, persistent (i.e. writes to disk) key-value store created for writing mobile applications in C#
Perform all Api calls against Akavache and if not available, hit the remote Api
3) ModernHttpClient - To better utilize the underlying operating systems network stacks
4) Fusillade - To prioritize and limit network requests
Implement three instances of the Refit api (UserInitiated, Background, Speculative) requests.
Combine the calls with Fusillade
5) Connectivity - To work offline (hold requests in the App and when the network becomes available, make the real calls)
6) Polly - For resilient retry logic
Develop the mechanism to implement the retry logic
Combine it with the other libraries
7) [login to view URL] - To make the App more resilient
+ Visual Studio solution with [login to view URL] projects (source code):
- [login to view URL] DotNet Standard 2.0 library encapsulating the required network functionalities
- [login to view URL] Android App which consumes 2 random Apis and show the results on the screen