{"id":18488806,"url":"https://github.com/samk13/worldfav-test","last_synced_at":"2025-09-02T11:08:55.011Z","repository":{"id":38319877,"uuid":"207896122","full_name":"Samk13/worldfav-test","owner":"Samk13","description":"worldfav-test","archived":false,"fork":false,"pushed_at":"2025-04-25T12:00:02.000Z","size":17068,"stargazers_count":0,"open_issues_count":13,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-04T05:05:50.459Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/Samk13.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":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-09-11T20:00:10.000Z","updated_at":"2025-04-25T11:59:59.000Z","dependencies_parsed_at":"2024-11-06T12:55:39.399Z","dependency_job_id":"015b4e92-1f78-46bc-8703-da377e6be04e","html_url":"https://github.com/Samk13/worldfav-test","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Samk13/worldfav-test","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samk13%2Fworldfav-test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samk13%2Fworldfav-test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samk13%2Fworldfav-test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samk13%2Fworldfav-test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Samk13","download_url":"https://codeload.github.com/Samk13/worldfav-test/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samk13%2Fworldfav-test/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273272611,"owners_count":25075999,"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","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"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":[],"created_at":"2024-11-06T12:52:52.342Z","updated_at":"2025-09-02T11:08:54.992Z","avatar_url":"https://github.com/Samk13.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Worldfavor recruitment test\n\n## Introduction\nThis repository is for Worldfavor's developer candidates only. \n\nIt contains a basic `react` project to base the assignments upon. \n\nCandidates are required to go through the different assignments by providing their own implementation. \n\nA review meeting shall be held after receiving the candidate's code; questions may be asked regarding the code and the mindset displayed in the implementation. \n\nPlagiarism and collaboration are not only unethical but strongly discouraged. We ask that you clone the repo to your local disk and submit it back in a zip file to mitigate this.\n\nThis test should take no longer than 2h. \n\nIf you feel you did not have the time to complete all the assignments and show all your capabilities, please submit your response for evaluation as the test is designed to asses various skill levels.\n\nHow to answer the different scenarios is open to the candidate unless stated in the question.\n\nBe as true to yourself as you can, and good luck!\n\n## Installation\nIn order to run this project you need to have a working `node` environment with `yarn` installed.\n\nClone this repository to your local machine and run:\n```bash\nyarn install\nyarn start\n```\nA server should now be running on your machine with live update enabled, and you should be all setup for the assignments.\n\n## Assignments\nThe different assignments are divided into multiple tasks; each task relies on the previous to work. \n\nEach task tackles a set of knowledge involved in our everyday development processes. \n\nTo us, implementation design is as important as solving the assignment. \n\nThe way you think will be first assessed through your code and further in a review meeting.\n\nAll assignments would ideally be completed without using external libraries, except for the one already available in `package.json`. \n\nNo type definition nor linting are required from the candidate, but if you feel the need, we are open for this kind of initiatives.\n\nEach task should be divided into its own folder, using the following naming convention: `task#`.\n\n### Task 1\n\nUsing the provided design (in `design.png`), you are asked to reimplement the scene while supporting the following requirements:\n- support an unknown amount of \"network\"\n- have a responsive UI that display different number of \"network card\" depending on the screen resolution\n- use `Material-UI` for small building blocks\n- using the `Dialog` component from `Material-UI`, show a dialog containing the network name and description when clicking the network card\n\nMock data for the list of networks is provided in `mockData.js`. For this task, there is no need to use state management, only a direct access is enough.\n\nWe are not looking for a pixel perfect implementation, but we will be attentive to how true your implementation is to the design.\n\n### Task 2\n\nFor this task, the candidate is asked to work on state management while supporting the following requirements:\n- the header should include the first name of the user in place of `Welcome back, xxxx!`\n- using Redux, implement reducer, actions and selectors to store and retrieve network objects\n- store network data in the implemented state when the app is first loaded\n- network objects have to come from the redux store whenever using them (no more direct access to `mockData.js`) \n\n### Task 3\n\nFor this task the candidate is asked to change the way the data is loaded, while supporting the following requirements: \n- load the data using an `axios` GET request (the requested url is not important)\n- use the user token for the `Authorization` header of the request\n- the response should be mocked using the data from `mockData.js`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamk13%2Fworldfav-test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamk13%2Fworldfav-test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamk13%2Fworldfav-test/lists"}