{"id":22678638,"url":"https://github.com/ammoradi/virta-bus-checker","last_synced_at":"2026-04-12T10:40:09.443Z","repository":{"id":123140192,"uuid":"532249233","full_name":"ammoradi/virta-bus-checker","owner":"ammoradi","description":"virta ltd. bus checker web application","archived":false,"fork":false,"pushed_at":"2022-09-05T07:15:38.000Z","size":792,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-04T13:44:55.008Z","etag":null,"topics":["apollo","apollo-client","graphql","graphql-codegen","jest","react","react-testing-library","styled-components","typescript"],"latest_commit_sha":null,"homepage":"","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/ammoradi.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-09-03T12:09:18.000Z","updated_at":"2022-09-04T23:24:19.000Z","dependencies_parsed_at":"2023-04-30T12:31:57.641Z","dependency_job_id":null,"html_url":"https://github.com/ammoradi/virta-bus-checker","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/ammoradi%2Fvirta-bus-checker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ammoradi%2Fvirta-bus-checker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ammoradi%2Fvirta-bus-checker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ammoradi%2Fvirta-bus-checker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ammoradi","download_url":"https://codeload.github.com/ammoradi/virta-bus-checker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246187240,"owners_count":20737462,"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":["apollo","apollo-client","graphql","graphql-codegen","jest","react","react-testing-library","styled-components","typescript"],"created_at":"2024-12-09T18:16:03.108Z","updated_at":"2025-12-30T22:37:22.602Z","avatar_url":"https://github.com/ammoradi.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Virta Bus Checker\nThis web app fetches buses arrival/departure data of a specific station/stop place in Helsinki through digitransit GraphQl endpoint and shows them properly both for desktop and mobile users.\n\n### Table of contents\n- [Install \u0026 run](#install--run)\n- [Test](#test)\n- [Features](#features)\n- [Stack](#stack)\n- [Limitation](#limitation)\n- [Todo](#todo)\n---\n\n## Install \u0026 run\ninstall packages:\n```\nnpm install\n```\n\nrun development (`localhost:3000`):\n```\nnpm start\n```\n\nrun production (`localhost:5000`):\n```\nnpm run build \u0026\u0026 serve -s build\n```\n\n_the project developed using node v16.x.x and npm v8.x.x_\n\n## Test\nthis project is **Unit Tested** carefully!\nto run all the test cases with coverage report:\n```\nnpm run test src -- --coverage\n```\n\nto run a specific test case:\n```\nnpm run test PATH_TO_SPEC_FILE\n```\n\nto run only changed test files:\n```\nnpm run test\n```\n\n\n## Features\n- buses list showing\n- buses positive and negative delays handling\n- synced global clock and buses list arrival estimation\n- real time data updating\n- ~90% code coverage\n- responsive design implementation\n\n## Stack\n- React\n- Typescript\n- Styled-components\n- Apollo Graphql\n- Graphql typescript code generator\n- React Testing Library\n\n## Limitation\nA real bus checker web app should not show the incoming buses in 3-digit next minutes! But due to lack of data samples and to show how the minutes estimation feature works, we don't filter bus arrivals in more than 1 hour!\n\n## Todo\n- [ ] add `eslint` and `prettier`.\n- [ ] add integration tests for `\u003cApp /\u003e` container.\n- [ ] refactor and move global clock from `\u003cClock /\u003e` component to a Top-level container.\n- [ ] add integration tests for synced clock of global clock and buses list.\n- [ ] migrate from `npm` to `yarn`\n- [ ] config jest coverage to ignore unnecessary files\n- [ ] provide performance measurements\n- [ ] provide bundle analysis\n- [ ] add cypress ui tests\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fammoradi%2Fvirta-bus-checker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fammoradi%2Fvirta-bus-checker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fammoradi%2Fvirta-bus-checker/lists"}