{"id":19004846,"url":"https://github.com/dhis2/line-listing-app","last_synced_at":"2025-07-24T16:35:06.744Z","repository":{"id":37859891,"uuid":"465694443","full_name":"dhis2/line-listing-app","owner":"dhis2","description":"Line listing app for DHIS 2","archived":false,"fork":false,"pushed_at":"2025-04-21T12:46:44.000Z","size":248407,"stargazers_count":7,"open_issues_count":15,"forks_count":4,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-04-21T13:45:31.850Z","etag":null,"topics":["web-app"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dhis2.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-03-03T11:39:15.000Z","updated_at":"2025-04-16T09:44:18.000Z","dependencies_parsed_at":"2023-12-18T13:41:24.957Z","dependency_job_id":"8dfb68f5-62f2-4618-b00c-b542c5de9c44","html_url":"https://github.com/dhis2/line-listing-app","commit_stats":null,"previous_names":[],"tags_count":167,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhis2%2Fline-listing-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhis2%2Fline-listing-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhis2%2Fline-listing-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhis2%2Fline-listing-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dhis2","download_url":"https://codeload.github.com/dhis2/line-listing-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250302197,"owners_count":21408334,"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":["web-app"],"created_at":"2024-11-08T18:24:50.398Z","updated_at":"2025-07-24T16:35:06.686Z","avatar_url":"https://github.com/dhis2.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![React 18](https://img.shields.io/badge/react-18-blue)\n![Nightly build](https://github.com/dhis2/line-listing-app/actions/workflows/nightly.yml/badge.svg)\n![Release build](https://github.com/dhis2/line-listing-app/actions/workflows/dhis2-verify-app.yml/badge.svg?branch=master)\n\n## Available Scripts\n\nAfter cloning the repo, run:\n\n`yarn install`\u003cbr /\u003e\n`yarn d2-style install`\n\n\u003cbr /\u003e\n\nFor development 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\nThe page will reload if you make edits.\u003cbr /\u003e\nYou will also see any lint errors in the console.\n\n### `yarn test`\n\nLaunches the test runner and runs all available tests found in `/src`.\u003cbr /\u003e\n\nSee the section about [running tests](https://platform.dhis2.nu/#/scripts/test) 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\nThe build is minified and the filenames include the hashes.\u003cbr /\u003e\nA deployable `.zip` file can be found in `build/bundle`!\n\nSee the section about [building](https://platform.dhis2.nu/#/scripts/build) for more information.\n\n### `yarn deploy`\n\nDeploys the built app in the `build` folder to a running DHIS2 instance.\u003cbr /\u003e\nThis command will prompt you to enter a server URL as well as the username and password of a DHIS2 user with the App Management authority.\u003cbr/\u003e\nYou must run `yarn build` before running `yarn deploy`.\u003cbr /\u003e\n\nSee the section about [deploying](https://platform.dhis2.nu/#/scripts/deploy) for more information.\n\n### Cypress tests\n\nIn order to run the cypress tests locally make sure you have configured your gitignore'd `cypress.env.json` at the root of the repo like so:\n\n```\n{\n    \"dhis2BaseUrl\": \"https://test.e2e.dhis2.org/analytics-dev/\",\n    \"dhis2Username\": ...,\n    \"dhis2Password\": ...\n    \"dhis2InstanceVersion\": \"dev\"\n}\n```\n\nMake sure that the `dhis2InstanceVersion` matches the version that is running at the dhis2BaseUrl. You can use 'dev' if the instance is dev, or else get the running instance version from this endpoint: `/api/system/info?fields=version` (which might return something like this: `2.40-SNAPSHOT`)\n\nHere is an example configuration for running tests against 2.39:\n\n```\n{\n    \"dhis2BaseUrl\": \"https://test.e2e.dhis2.org/analytics-2.39/\",\n    \"dhis2Username\": ...,\n    \"dhis2Password\": ...\n    \"dhis2InstanceVersion\": \"2.39\"\n}\n```\n\nYour desired username and password should be in double quotes.\n\n#### `yarn cy:open`\n\nRuns the tests locally in interactive mode.\n\n#### `yarn cy:run`\n\nRun the tests without interactive mode\n\n#### Conditional E2E Test Recording\n\nTo record tests in Cypress Cloud, you can use one of the following methods based on your needs:\n\n-   **Commit Message**: Include `[e2e record]` in your commit messages to activate recording.\n-   **GitHub Labels**: Apply the `e2e record` label to your pull request to trigger recording.\n\nThis setup helps in managing Cypress Cloud credits more efficiently, ensuring recordings are only made when explicitly required.\n\n#### Configure Cypress tests to run only on certain versions\n\nSome tests may only be applicable to some supported versions of DHIS2 (DHIS2 officially supports the latest 3 released versions). For instance, if you add a feature to 2.42 that would not work on 2.41, then a test for that feature should only run on instances \u003e=2.42, and should not run on instances \u003c2.41. To configure a test to only run on certain versions, add a tag array as the first argument to the test's `describe` or `it`. You can add multiple tags to the array if that is relevant. Tags must be in the form of \u003c \u003c= \u003e \u003e= otherwise they will be ignored. In addition, the tags contain only the minor version, i.e., \"41\", not \"2.41\". Here are some tag examples, given the minimum supported version of 2.39:\n\n```\nit(['\u003c40'], 'runs on 39 only', () =\u003e { test implementation })\nit(['\u003c=40'], 'runs on 39 and 40', () =\u003e { test implementation })\nit(['\u003e40'], 'runs on 41 and dev', () =\u003e { test implementation })\nit(['\u003e=40'], 'runs on 40, 41 and dev', () =\u003e { test implementation })\n```\n\nTests without tags will run on all supported versions plus dev.\n\n## Pull requests\n\n### Open\n\nPull requests should be set to \"draft\" until they are ready for review. Why, you ask? Because the e2e test workflow on CI does not run on drafts. This helps to avoid overloading the cypress server unnecessarily, allowing the e2e runs on PRs that are ready to complete more quickly. When it's ready for review, remove the \"draft\" status and assign someone, and ping that person on the team's \"PR\" channel in Slack.\n\n### Review\n\nWhen reviewing, please don't approve until all the required checks have passed.\n\n### Merge\n\nPRs should be squash merged unless there is a good reason to preserve the individual commit history. Make sure the PR commit summary has the correct semantic release keyword (fix, feat, chore, etc). Keep line lengths in the description to \u003c100 in order to avoid lint-commit errors in future PRs that have \"merge from master\" commits. The summaries and descriptions go into the release notes so make it good!\n\n### Deploy previews\n\nFor each PR, a deploy preview is automatically generated and available at the following URL: https://pr-###.line-listing.netlify.dhis2.org This is useful for reviewing changes to the app before merging them into master. Because this is on a dhis2.org domain, the deploy preview can be tested against any DHIS2 Core backend deployed on the dhis2.org domain without encountering CORS issues.\n\n## Learn More\n\nThis project was bootstrapped with [DHIS2 Application Platform](https://github.com/dhis2/app-platform).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhis2%2Fline-listing-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdhis2%2Fline-listing-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhis2%2Fline-listing-app/lists"}