{"id":22444696,"url":"https://github.com/zapkub/opn-store-interview-challenge","last_synced_at":"2025-07-22T01:04:04.972Z","repository":{"id":72450902,"uuid":"463081077","full_name":"zapkub/opn-store-interview-challenge","owner":"zapkub","description":"Covid Tracker App as a challenge from OPN","archived":false,"fork":false,"pushed_at":"2022-02-28T02:34:39.000Z","size":1416,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T10:47:47.603Z","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/zapkub.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":"2022-02-24T09:15:18.000Z","updated_at":"2022-02-24T09:15:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"c343e2e7-eaf1-4daf-9e20-0b3889eba9f2","html_url":"https://github.com/zapkub/opn-store-interview-challenge","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zapkub/opn-store-interview-challenge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapkub%2Fopn-store-interview-challenge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapkub%2Fopn-store-interview-challenge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapkub%2Fopn-store-interview-challenge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapkub%2Fopn-store-interview-challenge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zapkub","download_url":"https://codeload.github.com/zapkub/opn-store-interview-challenge/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapkub%2Fopn-store-interview-challenge/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266405405,"owners_count":23923536,"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-07-21T11:47:31.412Z","response_time":64,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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-12-06T03:09:35.445Z","updated_at":"2025-07-22T01:04:04.957Z","avatar_url":"https://github.com/zapkub.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OPN Challenge Covid Tracker\nHere is the Covid Tracker for Job interview challenge, **focus on simplicity nothing fancy**\n\n## Built with\n- Apollo GraphQL\n- NextJS and ReactJS\n- Just that!\n\n## Development\nYou need just\n- NodeJS 16++ from https://nodejs.org/en/\n- with Yarn https://yarnpkg.com/\n- Linux or MacOS based OS ( maybe Ubuntu? https://ubuntu.com/ )\n\nand then\n```bash\n$ yarn install\n$ yarn dev\n```\n\n## Build \u0026\u0026 Production Start\n```bash\n$ yarn build\n$ yarn start\n```\n\n\u003e The DB have some seed for your convinence please use `?session-id=default` to get some seed without adding the data by yourself 😎\n\n\n\n## Todo\n- [ ] ~~User can click on (+) to add new patient up to 8 patients.~~\n- [x] User can click on (+) to add new patient up to no limit patients.\n- [x] User can add each patient information using form on top, the patient contains these data\n  - Gender: string\n  - Age: integer\n  - Occupation: string\n\n- [x] User can add timeline entry using form on the right, a timeline entry contains these data\n  - Time From: datetime\n  - Time To: datetime\n  - Detail: string\n  - Location Type: string\n  - Location: string\n  - Location type can be only these following value\n    - INDOOR\n    - OUTDOOR\n    - HOME\n    - TRAVELLING\n- [x] When location type is INDOOR and OUTDOOR user need to specify the location name.\n\n- [x] On the left side use patient data and timeline entry data to display data as show in the design\n- [x] Timeline activities must be sorted by Time.\n- [ ] Each timeline entry must not collapsed with other entry.\n- [x] Timeline activities must be grouped by date.\n- [x] Visited locations must be sorted by name.\n- [ ] User can remove timeline entry when click on (x) button.\n- [x] User can remove patient and timeline entries by click on Remove Patient button on he top right.\n- [x] Make it responsive and look nice on all screen sizes.\n- [x] Update README.md to containing setup instructions, pretend that reviewer who has brand new laptop can set it up successfully.\n\n- [ ] BONUS POINT I: Cover the use case with test.\n- [ ] BONUS POINT II: Feel free to make it better than the given design 😉\n- [x] BONUS POINT III: Use GraphQL as API\n\n\n## Screenshot\n![ss1](./resources/ss1.png)\n![ss1](./resources/ss2.png)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzapkub%2Fopn-store-interview-challenge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzapkub%2Fopn-store-interview-challenge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzapkub%2Fopn-store-interview-challenge/lists"}