{"id":16091078,"url":"https://github.com/palerdot/dhis2-dashboard-app","last_synced_at":"2025-04-05T17:43:40.708Z","repository":{"id":205471529,"uuid":"714200043","full_name":"palerdot/dhis2-dashboard-app","owner":"palerdot","description":"dhis2 dashboard app ","archived":false,"fork":false,"pushed_at":"2023-11-05T03:18:04.000Z","size":85,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-11T14:51:29.213Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://dhis2dash.initdot.in/","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/palerdot.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":"2023-11-04T07:43:50.000Z","updated_at":"2023-11-05T03:39:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"dcf046e8-f890-44dd-b6a4-a0cb16cd4d9c","html_url":"https://github.com/palerdot/dhis2-dashboard-app","commit_stats":null,"previous_names":["palerdot/dhis2-dashboard-app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/palerdot%2Fdhis2-dashboard-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/palerdot%2Fdhis2-dashboard-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/palerdot%2Fdhis2-dashboard-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/palerdot%2Fdhis2-dashboard-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/palerdot","download_url":"https://codeload.github.com/palerdot/dhis2-dashboard-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247378091,"owners_count":20929293,"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-09T15:08:37.559Z","updated_at":"2025-04-05T17:43:40.683Z","avatar_url":"https://github.com/palerdot.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DHIS2 dashboard app\n\n[Deployed Version](https://dhis2dash.initdot.in/)\n\nThe dashboard app is bootstrapped with `vite` `react-ts` template.\n\nStack\n- React + Typescript\n- Tailwind for styling\n- dhis2 UI library for ui components\n- vitest + @testing-library/react + msw  for testing\n\n### Installation\n\n```shell\npnpm install\n# run the local server\npnpm run dev\n```\n\n### Code\n\nSome pointers on the code\n\n- Dashboard data is loaded only once when the user **first** opens the dashboard. This makes sure dashboards that are not open does not fetch data from the api. Subsequent open/close actions on dashboard does not repeatedly call the apis.\n- star data is locally persisted on local storage\n- When filters are applied items are hidden instead of removing from dom to prevent rerenders when filters change.\n\n\n### Testing\n\nTests are present in `tests` folder and tested with `vitest + @testing-library/react + msw  for testing`.\n\n`App.test.tsx` file tests the following\n\n- App is loaded fine and dashboard api data is loaded and all 5 dashboards are shown\n- Only one dashboard content is shown\n- Visible dashboard lists all the items with the default `All` filter\n- When filter is changed to `visualization`, only visualization items are visible, and map/text items are not shown.\n\n`index.test.ts` has tests for local storage interfaces.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpalerdot%2Fdhis2-dashboard-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpalerdot%2Fdhis2-dashboard-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpalerdot%2Fdhis2-dashboard-app/lists"}