{"id":44979830,"url":"https://github.com/diggsweden/dataportal-web","last_synced_at":"2026-02-18T18:03:57.227Z","repository":{"id":41774889,"uuid":"234505787","full_name":"diggsweden/dataportal-web","owner":"diggsweden","description":"Källkod för dataportal.se","archived":false,"fork":false,"pushed_at":"2025-12-12T11:38:18.000Z","size":38351,"stargazers_count":23,"open_issues_count":15,"forks_count":6,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-12-14T01:16:49.037Z","etag":null,"topics":["apollo-graphql","dataportal","emotion","react","react-router","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/diggsweden.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-01-17T08:33:25.000Z","updated_at":"2025-12-03T09:57:41.000Z","dependencies_parsed_at":"2023-02-16T09:01:13.367Z","dependency_job_id":"52975fa4-220b-4b90-bdd3-a5e0c2e1755a","html_url":"https://github.com/diggsweden/dataportal-web","commit_stats":null,"previous_names":[],"tags_count":153,"template":false,"template_full_name":null,"purl":"pkg:github/diggsweden/dataportal-web","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diggsweden%2Fdataportal-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diggsweden%2Fdataportal-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diggsweden%2Fdataportal-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diggsweden%2Fdataportal-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/diggsweden","download_url":"https://codeload.github.com/diggsweden/dataportal-web/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diggsweden%2Fdataportal-web/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29588777,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-18T16:55:40.614Z","status":"ssl_error","status_checked_at":"2026-02-18T16:55:37.558Z","response_time":162,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["apollo-graphql","dataportal","emotion","react","react-router","typescript"],"created_at":"2026-02-18T18:03:55.549Z","updated_at":"2026-02-18T18:03:57.220Z","avatar_url":"https://github.com/diggsweden.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Swedish data portal](https://www.dataportal.se/images/svdp-favicon-64.png)\n\n# The Swedish data portal web client – [dataportal.se](https://www.dataportal.se)\n\nSweden´s national data portal gathers and shares data for re-use to make it easier for users to find and explore it across sectors and domains.The portal only contains information about datasets, i.e. metadata. The actual datasets are retrieved via links for download or requested by the respective organization responsible for their own datasets. The Agency for Digital Government (DIGG) is responsible for Sweden's national data portal.\n\n## Entryscape\n\n[\u003cimg alt=\"Entryscape logotype\" src=\"https://entryscape.com/wp-content/uploads/2023/01/Entryscape-by-Metasolutions-w385px-Retina-2.png\" width=\"191\" height=\"42\"\u003e](https://entryscape.com/en)\n\nThe Swedish data portal is tightly integrated with the EntryScape product suite from MetaSolutions AB.\nEntryScape Registry is a solution for managing a registry of data catalogs and related information\n\n## Requirements\n\n![node-current](https://img.shields.io/badge/node-22-green)\n![npm-current](https://img.shields.io/badge/npm-10-green)\n![nextjs-current](https://img.shields.io/badge/nextjs-13-green)\n\n## Development\n\nStart by creating an `.env.local` file. Use the `.env.local.example` as template.\n(Environment variables and tokens in .env.local.example that has placeholder value of \"secret\" is not available here and needs to be changed to a valid value).\n\n### Run application in development mode\n\nStarts the application in development mode with hot-code reloading, error reporting, and more. See [Nextjs Development](https://nextjs.org/docs/app/api-reference/next-cli#development) for more information.\nRun:\n\n```sh\nyarn\nyarn dev\n# If you are having issues connecting to your localhost port for apollo:\nexport NODE_OPTIONS=--dns-result-order=ipv4first\n```\n\nVisit [http://localhost:3000](http://localhost:3000) in the browser.\n\n### Run application in production mode\n\nBuilds the application for production usage. See [Nextjs production build](https://nextjs.org/docs/app/api-reference/next-cli#build) for more info.\nAnd Start the Next.js production server. See [Nextjs start production](https://nextjs.org/docs/app/api-reference/next-cli#production) for more info.\nRun:\n\n```sh\nyarn\nyarn build\nyarn start\n```\n\nVisit [http://localhost:3000](http://localhost:3000) in the browser.\n\n### Run application with Docker\n\nRun the following to start the application with docker.\n\n```sh\n#build image\ndocker build . -t dataportal-web\n\n# Create container\ndocker run -p 3000:3000 -e PORT=3000 -e HOST=http://localhost:3000 -e REACT_APP_APOLLO_URL=http://localhost:1400 -e REACT_APP_RUNTIME_ENV=prod -e IMAGE_DOMAIN=host.docker.internal -e REACT_APP_MEDIA_BASE_URL=\"http://host.docker.internal:1400/assets/dataportal\" --add-host=host.docker.internal:host-gateway dataportal-web\n```\n\n### Local testing with Sandbox data\n\nGo to: [sandbox.localhost](http://sandbox.localhost:3000/) to test and explore the site with data from Entryscape sandbox environment.\n\n### Health check\n\nNextJs answers on [http://localhost:1300/api/healthcheck?secret=[HEALTHCHECK_SECRET from env]](http://localhost:1300/api/healthcheck?secret=)\nNo cache, Do a request to content backend with startpage query.\n\n```sh\n{\"status\":\"fail\"}\n```\n\n```sh\n{\"status\":\"pass\"}\n```\n\n## Notes\n\n### Stack\n\n- [![Nextjs](https://badgen.net/badge/Nextjs/JS%20framework/blue)](https://nextjs.org/)\n- [![TypeScript](https://badgen.net/badge/TypeScript/For%20static%20types/blue)](https://www.typescriptlang.org/)\n- [![React](https://badgen.net/badge/React/For%20UI/blue)](https://reactjs.org/)\n- [![Tailwind](https://badgen.net/badge/Tailwind/For%20styling/blue)](https://tailwindcss.com/)\n- [![Apollo Client](https://badgen.net/badge/Apollo%20Client/For%20federated%20content/blue)](https://www.apollographql.com/docs/react/)\n\n### Content backend\n\nThe Swedish Dataportal consumes news and content via a GraphQL proxy. The content is\nrendered with Apollo GraphQl and React. The proxy is not published on Github.\n\n### Videos\n\n[\u003cimg alt=\"Screen9 logotype\" src=\"https://screen9.com/wp-content/uploads/Screen9-logo-Black-CMYK.svg\" width=\"150\" height=\"30\"\u003e](https://screen9.com/)\n\nDisplay of video is done via [screen9](https://screen9.com/). To be able to display videos an account from screen9 is needed and an API key.\nThe key for this frontend application has read access only to DIGG screen9 account.\n\n## E2E Test with Cypress\n\n[cypress.io](https://www.cypress.io/)\n\nRun all tests\n\n```bash\nyarn cypress run\n```\n\nRun a specific test\n\n```bash\nyarn cypress run --spec \"cypress/e2e/YOUR_TEST_FILE.cy.js\"\n```\n\nTo use the cypress GUI run the following command.\n\n```bash\nyarn cypress open\n```\n\nThis can be used to debug and view your tests in a user interface.\n\n### Guidelines when writing tests\n\nTo write tests that are easy to maintain, follow these guidelines:\n\n- Use descriptive names for tests\n- Divide tests into smaller tests to make them easier to maintain and debug\n- Use/add data-test-id to select elements to avoid using CSS selectors\n- Add comments to explain why a test is written in a certain way\n- Keep tests clean and readable\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiggsweden%2Fdataportal-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiggsweden%2Fdataportal-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiggsweden%2Fdataportal-web/lists"}