{"id":17124063,"url":"https://github.com/jayu/user-search-app","last_synced_at":"2025-07-27T12:36:21.415Z","repository":{"id":118315817,"uuid":"295131911","full_name":"jayu/user-search-app","owner":"jayu","description":null,"archived":false,"fork":false,"pushed_at":"2020-09-13T11:00:00.000Z","size":221,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-18T05:12:27.822Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/jayu.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,"publiccode":null,"codemeta":null}},"created_at":"2020-09-13T10:55:47.000Z","updated_at":"2020-09-14T06:41:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"f45fdf48-e4f9-43f6-ad5d-a1075def43cf","html_url":"https://github.com/jayu/user-search-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jayu%2Fuser-search-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jayu%2Fuser-search-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jayu%2Fuser-search-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jayu%2Fuser-search-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jayu","download_url":"https://codeload.github.com/jayu/user-search-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245200706,"owners_count":20576674,"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-10-14T18:41:45.287Z","updated_at":"2025-03-24T03:16:43.411Z","avatar_url":"https://github.com/jayu.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).\n\n## Notes for reviewers\n\nI enjoyed the task, it was relatively easy, but I think it helps to compare the level of candidates.\n\nAll we know is the mockup and API response, so my solution is based on the following assumptions:\n\n- Project is too small for introducing state management library, I decided to use local state only. If the would be a bit more complex, I would use [overmind](https://overmindjs.org/), which, I think is a great alternative to redux, because of reduced boilerplate code that has to be written.\n- List of users contains only 10 entries. In real-world environment I would use [react-virtualized](https://github.com/bvaughn/react-virtualized) to prevent UI lags during renders, especially while searching\n\nI decided to use CSS modules as styling solution since I didn't want to spend time on configuring SCSS only for reusing some color variables. Probably it plays well with CRA anyway...\n\nI tried to keep components reusable, even if they serve only one purpose in this project. I did a small refactoring at the end.\n\nI decided to configure TypeScript and ESlint to have great DX during that short coding session.\n\nI wrote a couple of test also.\n\nYou can run `yarn checks` to verify if everything is passing.\n\n## Available Scripts\n\nIn the project directory, you can run:\n\n### `yarn start`\n\nRuns the app in the development mode.\u003cbr /\u003e\nOpen [http://localhost:3000](http://localhost:3000) to view it in the browser.\n\n### `yarn test`\n\nLaunches the test runner in the interactive watch mode.\u003cbr /\u003e\nSee the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.\n\n### `yarn build`\n\nBuilds the app for production to the `build` folder.\u003cbr /\u003e\nIt correctly bundles React in production mode and optimizes the build for the best performance.\n\nYou can use `serve` package to host build application\n\n```sh\nyarn global add serve\nnpx serve -s build\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjayu%2Fuser-search-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjayu%2Fuser-search-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjayu%2Fuser-search-app/lists"}