{"id":20749238,"url":"https://github.com/themysteriousstranger90/countryservices","last_synced_at":"2026-05-29T08:04:34.694Z","repository":{"id":233238833,"uuid":"700297708","full_name":"TheMysteriousStranger90/CountryServices","owner":"TheMysteriousStranger90","description":"A advanced level task for practicing asynchronous programming for I/O bound operations.","archived":false,"fork":false,"pushed_at":"2023-10-04T10:27:23.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-11T13:52:48.059Z","etag":null,"topics":["csharp","epam","tasks"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheMysteriousStranger90.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-10-04T10:27:18.000Z","updated_at":"2023-12-12T07:53:56.000Z","dependencies_parsed_at":"2024-04-15T04:14:35.425Z","dependency_job_id":"3467365f-84a7-4d71-9c83-2797b4a70b9c","html_url":"https://github.com/TheMysteriousStranger90/CountryServices","commit_stats":null,"previous_names":["themysteriousstranger90/countryservices"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TheMysteriousStranger90/CountryServices","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheMysteriousStranger90%2FCountryServices","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheMysteriousStranger90%2FCountryServices/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheMysteriousStranger90%2FCountryServices/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheMysteriousStranger90%2FCountryServices/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheMysteriousStranger90","download_url":"https://codeload.github.com/TheMysteriousStranger90/CountryServices/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheMysteriousStranger90%2FCountryServices/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33642320,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","epam","tasks"],"created_at":"2024-11-17T08:21:45.032Z","updated_at":"2026-05-29T08:04:34.670Z","avatar_url":"https://github.com/TheMysteriousStranger90.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Country Service. Async I/O bound operations\n\nA advanced level task for practicing asynchronous programming for I/O bound operations.\n\nIn this task you \n- will learn the basics of async programming;\n- will get acquainted with [Task](https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.task?view=net-6.0) and [Task\u003cTResult\u003e](https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1?view=net-6.0) classes from [System.Threading.Tasks](https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks?view=net-6.0) namespace;\n- will learn how to use `async/await` key words in asynchronous programming. \n\nBefore starting the task learn how to use `Task`/`Task\u003cTResult\u003e` classes and `async/await` key words in C#.\n\nEstimated time to complete the task: 6h.\n\n## Task Description\n\n - Review the articles\n    - [Asynchronous programming with async and await](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/).\n    - [Your Ultimate async / await Tutorial in C#](https://www.codingame.com/playgrounds/4240/your-ultimate-async-await-tutorial-in-c/introduction). \n    - [Async and Await](https://blog.stephencleary.com/2012/02/async-and-await.html).\n    - [WebClient Class](https://docs.microsoft.com/en-us/dotnet/api/system.net.webclient?view=net-6.0).\n    - [HttpClient Class](https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=net-6.0).\n    - [JsonSerializer Class](https://docs.microsoft.com/en-us/dotnet/api/system.text.json.jsonserializer?view=net-6.0).\n - Learn how the [REST COUNTRIES 🇵🇪](https://restcountries.com/#api-endpoints-v2) RESTful service works.\n - Implement the `CountryService` class whose methods return data as a result of requests to the following endpoints [API ENDPOINTS V2](https://restcountries.com/#api-endpoints-v2) of the RESTful service.\n - Compare synchronous and asynchronous implementations of the methods. Make inferences about usage preference.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthemysteriousstranger90%2Fcountryservices","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthemysteriousstranger90%2Fcountryservices","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthemysteriousstranger90%2Fcountryservices/lists"}