{"id":20486300,"url":"https://github.com/undp-data/sids-data-platform","last_synced_at":"2025-10-14T05:18:28.526Z","repository":{"id":39183630,"uuid":"381287735","full_name":"UNDP-Data/SIDS-Data-Platform","owner":"UNDP-Data","description":null,"archived":false,"fork":false,"pushed_at":"2023-12-03T18:24:07.000Z","size":426421,"stargazers_count":0,"open_issues_count":0,"forks_count":5,"subscribers_count":2,"default_branch":"staging","last_synced_at":"2025-08-10T07:27:50.928Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://sids-dashboard.github.io/SIDSDataPlatform/","language":"JavaScript","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/UNDP-Data.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":"2021-06-29T08:07:42.000Z","updated_at":"2022-10-25T11:21:48.000Z","dependencies_parsed_at":"2023-12-03T19:37:00.312Z","dependency_job_id":null,"html_url":"https://github.com/UNDP-Data/SIDS-Data-Platform","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/UNDP-Data/SIDS-Data-Platform","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNDP-Data%2FSIDS-Data-Platform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNDP-Data%2FSIDS-Data-Platform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNDP-Data%2FSIDS-Data-Platform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNDP-Data%2FSIDS-Data-Platform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UNDP-Data","download_url":"https://codeload.github.com/UNDP-Data/SIDS-Data-Platform/tar.gz/refs/heads/staging","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNDP-Data%2FSIDS-Data-Platform/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279018013,"owners_count":26086237,"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-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","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-11-15T16:35:59.928Z","updated_at":"2025-10-14T05:18:28.499Z","avatar_url":"https://github.com/UNDP-Data.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SIDS data platform\n\n[Demo](https://sids-dashboard.github.io/SIDSDataPlatform)\n\n## npm commands\n\n### Project setup\n```\nnpm install\n```\n\n### Compiles and hot-reloads for development\n```\nnpm run serve\n```\n\n### Compiles and minifies for production\n```\nnpm run build\n```\n\n### Lints and fixes files\n```\nnpm run lint\n```\n\n### Start server in testing mode\n```\nnpm run start-server\n```\n\n### Start auto testing\n```\nnpm run ci\n```\n\n## Git workflow\n\n```mermaid\n  journey\n    title Git workflow\n    section Fork\n      Checkout feature branch:8: Manual\n      Commit changes:7: Manual\n      Send PR to staging: 6: Manual\n      Publish to pages: 5: Automated\n      Send pr to main repo staging: 4: Manual\n    section Main repo\n      Merge pr to staging: 8: Manual\n      Publish to pages: 7: Automated\n      Send pr to production: 6: Manual\n      Test with Percy.io: 6: Automated\n      Merge pr to production: 5: Manual\n      Publish to hosting: 5: Automated\n```\n## Code base highlites\n\n## Key vendors\n\n[Vue](https://vuejs.org/)\nSPA framework that project built on - version 2 is used.\n\n[Vueitfy](https://vuetifyjs.com/)\nComponent library used for moust of the ui. Some default styles are overwriten and can be found in assests/styles folder.\n\n[d3.js](https://d3js.org/)\nData visualisation library - version 5 is used.\n\n## File structure\n+ /assets - static files (images, icons, videos), root styles, fonts, files with root static vatiables (sdg goals, country codes etc)\n+ /choro - key self-written vendor,used to generates charts on profiles \u0026 MVI views moust of d3 code is here\n+ /services/index.js - API calls (backend endpoints, configs and API call functions)\n+ /components - reusable vue components shared across different views\n+ /views - page components\n\t+ /views/children - components that used only on this page (e.g. navigations)\n+ /store - vuex store\n\t+ /store/texts.store - text content for tooltips and some of the pages\n\t+ /store/profiles.store - store used for profiles page\n\t+ /store/sids.store - store used for portfolio page\n\t+ /store/indicators.store - store used for MVI \u0026 indicators pages\n\t+ /store/loader.store - page loader state\n+ /router - vue router config\n+ /gis - gis page vendors with \n\n## CI/CD\n\n### Automated testing\nAutomated testing is based on screenshot comparasion made with [percy.io](https://percy.io/) cloud service and [cypress](https://www.cypress.io/) testing framework.\n\nCypress configuration is in /cypress.json and /cypress/.\nPercy configuration can be found on cloud platform.\n\n## Github actions\n\n### publish-to-pages\n\nTriggers on merge to staging, publishes new vesion to github pages of the main repo\n\n\n### CI-percy\n\nTriggers on pull request to production, makes creenshot comparation of a new and old versions, if there are differences requres approval on percy cloud platform for PR to me merged.\n\nGithub secret - PERCY_TOKEN, authorisation token for percy platform\n\n### Publish production to ftp \n\nBuilds project with --production flag and uploads files to the data.undp.org hosting via ftp.\n\nGithub secret - FTP_PASSWORD , ftp password.\n\n## Cloud vendors\n\n[percy.io](https://percy.io/)\nTesting tool based on screenshot comparaion\n\n[Sentry.io](https://Sentry.io/)\nError logging tool, enebled only for [production](data.undp.org/sids) environment\nIntialized in /src/main.js file\n\n[Google analytics](https://analytics.google.com/)\nSite analytics tool, initialized in /public/index.html, enebled only for [production](data.undp.org/sids) environment\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fundp-data%2Fsids-data-platform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fundp-data%2Fsids-data-platform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fundp-data%2Fsids-data-platform/lists"}