{"id":21326024,"url":"https://github.com/propylon/oireachtas-csharp-assessment","last_synced_at":"2025-04-14T23:21:53.563Z","repository":{"id":189129768,"uuid":"679645326","full_name":"propylon/oireachtas-csharp-assessment","owner":"propylon","description":"Propylon C# Oireachtas API Technical Assessment","archived":false,"fork":false,"pushed_at":"2023-08-18T09:46:34.000Z","size":76,"stargazers_count":0,"open_issues_count":2,"forks_count":8,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-28T11:21:16.461Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/propylon.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}},"created_at":"2023-08-17T09:51:58.000Z","updated_at":"2024-02-21T11:22:18.000Z","dependencies_parsed_at":"2023-08-18T12:23:23.357Z","dependency_job_id":null,"html_url":"https://github.com/propylon/oireachtas-csharp-assessment","commit_stats":null,"previous_names":["propylon/oireachtas-csharp-assessment"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/propylon%2Foireachtas-csharp-assessment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/propylon%2Foireachtas-csharp-assessment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/propylon%2Foireachtas-csharp-assessment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/propylon%2Foireachtas-csharp-assessment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/propylon","download_url":"https://codeload.github.com/propylon/oireachtas-csharp-assessment/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248975716,"owners_count":21192275,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-21T21:08:17.329Z","updated_at":"2025-04-14T23:21:53.546Z","avatar_url":"https://github.com/propylon.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Propylon Code Test - C# Oireachtas API\n\nThis project has a C# file `Program.cs` which defines 3 methods to\nload and process a couple of the [Houses of the Oireachtas Open Data APIs][1].\n\nSpecifically, they use the data obtained from the `legislation` and `members`\napi endpoints to answer the questions:\n\n* Which bills were sponsored by a given member ?\n* Which bills were last updated within a specified time period ?\n\nYou are tasked with doing one or more of the following in any order you are\ncomfortable with. Obviously the more you manage to get done, the better.\n\n1. The current implementation loads previously obtained offline copy of the data\n   obtained from the endpoints. Update the module to fetch the latest data from\n   the api endpoint if the parameter passed is the URL to the endpoint instead\n   of a filename.\n\n2. The current implementation of the `filterBillsSponsoredBy` appears to be\n   correct. It is also reasonably quick when processing the offline data.\n   However, when the complete dataset obtained from the api is loaded, it is\n   noticeably slower. Refactor the implementation to be faster than the current\n   inefficient implementation.\n\n3. Provide an implementation for the unimplemented function\n   `filterBillsByLastUpdated`. The specification for this is documented in the \n   function's doc-string.\n\n4. The `Main` method of the `Program` class is currently unused. The methods are\n    only used in the test project. Update the project to allow a user to choose\n    a filter message and input arguments through the command line.\n\n5. Improve the code base as you would any professional quality code. This\n   includes not just error checking and improving code readability but also\n   adding documentation, comments where necessary, additional tests if any ...etc.\n\nThis project was designed in Visual Studio with .Net Framework 4.7.2\nMicrosoft offers a [community version of Visual Studio][2]\nAlternatives to Visual Studio include downloading just the .Net Framework and using\nthe MSBuild command line tool or using [Mono Project's][3] cross platform open source tools\n\nFeel free to ask any questions or clarifications, if required.\n\nWish you the best of luck !\n\n[1] https://api.oireachtas.ie/\n[2] https://visualstudio.microsoft.com/vs/community/\n[3] https://www.mono-project.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpropylon%2Foireachtas-csharp-assessment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpropylon%2Foireachtas-csharp-assessment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpropylon%2Foireachtas-csharp-assessment/lists"}