{"id":43256396,"url":"https://github.com/openearth/rws-viewer","last_synced_at":"2026-02-01T13:33:38.237Z","repository":{"id":37087895,"uuid":"424536080","full_name":"openearth/rws-viewer","owner":"openearth","description":"This viewer is created by Deltares in cooperation with Voorhoede under OpenEarth GPL License. The viewer can be used via several RWS websites, please visit https://www.informatiehuismarien.nl/, https://waterinfo-extra.rws.nl/ and https://basismonitoringwadden.waddenzee.nl/. ","archived":false,"fork":false,"pushed_at":"2025-12-17T16:23:31.000Z","size":3260,"stargazers_count":1,"open_issues_count":5,"forks_count":2,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-12-20T07:12:46.974Z","etag":null,"topics":["data","mapbox-gl-js","ogc-services","viewer"],"latest_commit_sha":null,"homepage":"https://deltares.nl","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/openearth.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-11-04T09:21:02.000Z","updated_at":"2025-12-17T16:23:35.000Z","dependencies_parsed_at":"2023-10-02T17:59:35.309Z","dependency_job_id":"88f83b41-35c1-4931-bfbd-a7d009c80225","html_url":"https://github.com/openearth/rws-viewer","commit_stats":{"total_commits":453,"total_committers":14,"mean_commits":"32.357142857142854","dds":0.7991169977924945,"last_synced_commit":"6a599ccead1a8c994f30fafb76ce329688089849"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/openearth/rws-viewer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openearth%2Frws-viewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openearth%2Frws-viewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openearth%2Frws-viewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openearth%2Frws-viewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openearth","download_url":"https://codeload.github.com/openearth/rws-viewer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openearth%2Frws-viewer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28979132,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T12:13:08.691Z","status":"ssl_error","status_checked_at":"2026-02-01T12:13:08.356Z","response_time":56,"last_error":"SSL_read: 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":["data","mapbox-gl-js","ogc-services","viewer"],"created_at":"2026-02-01T13:33:38.090Z","updated_at":"2026-02-01T13:33:38.231Z","avatar_url":"https://github.com/openearth.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenEarth Viewer\n\nThe [OpenEarth Viewer](https://rws-viewer.netlify.app/) gives insight in a wide variety of marine data. It is configured to be loaded into a variety of different websites and cater specific layer data to each individual client.\n\n[![Netlify Status](https://api.netlify.com/api/v1/badges/119b8ff3-5b22-4995-b43b-b31f21ba77c3/deploy-status)](https://app.netlify.com/sites/rws-viewer/deploys)\n\n## Getting started\n\n- Clone [this repository](https://github.com/openearth/rws-viewer):\n\n```sh\ngit clone git@github.com:openearth/rws-viewer.git\ncd rws-viewer\nnpm install --legacy-peer-deps\n```\n\n- Copy `.env.example` to `.env`. And set all variables.\n\n### Local development\n\n```sh\nnpm run dev\n```\n\n## Migrations\n\nThis project uses [DatoCMS migrations](https://www.datocms.com/docs/content-management-api/migrations) for managing the models and moving data around in the DatoCMS instances. It uses custom scripts to generate the migrations, and to apply them.\n\n### Create Migration (`migrations:create`)\n\n**File:** `scripts/dato/create.ts`\n\nThis script creates a new migration file for DatoCMS.\n\n- Prompts the user for a migration name.\n- Uses the current DatoCMS instance specified in the environment variable `DATO_INSTANCE_CURRENT`.\n- Creates a new migration file using the DatoCMS CLI.\n\nUsage:\n\n```bash\nnpm run migrations:create\n```\n\n### Apply Migrations To Staging (`migrations:apply-staging`)\n\n**File:** `scripts/dato/apply-staging.ts`\n\nThis script applies migrations to the staging environment for all configured DatoCMS instances.\n\nFor each instance:\n\n1. Sets up a staging environment.\n2. Destroys the existing staging environment if it exists.\n3. Creates a fresh staging environment by forking from the main environment.\n4. Applies all migrations in the `migrations` directory to the staging environment.\n\nUsage:\n\n```bash\nnpm run migrations:apply\n```\n\n### Apply Migrations to Main (`migrations:apply-main`)\n\n🚧 Please do not use this script unless you know what you are doing. This will update the main environment for all configured DatoCMS instances and can cause data loss. Typically this will only be run from a GitHub action.\n\n**File:** `scripts/dato/apply-main.ts`\n\nThis script applies migrations to the main environment for all configured DatoCMS instances.\n\nFor each instance:\n\n1. Destroys the existing staging environment if it exists.\n2. Creates a fresh staging environment by forking from the main environment.\n3. Applies all migrations in the `migrations` directory to the staging environment.\n4. Promotes the staging environment to main.\n5. Destroys the old main environment.\n6. Renames the staging environment to main.\n\nUsage:\n\n```bash\nnpm run migrations:apply-main\n```\n\n## GitHub Actions Workflows\n\n\n### Deploy to Production\n\nThe `main-migrations.yaml` workflow is triggered on a push to the `main` branch. It performs the following steps:\n\n1. Checks out the repository.\n1. Checks for changes in the `migrations` folder.\n1. If changes are detected, sets up Node.js, installs dependencies, and runs the `migrations:apply-main` script.\n1. Deploys the application to Netlify using the specified instances.\n\n### Deploy to Staging\n\nThe `staging-migrations.yaml` workflow is triggered on pull request events (opened or synchronized). It performs the following steps:\n\n1. Checks out the repository.\n1. Checks for changes in the `migrations` folder.\n1. If changes are detected, sets up Node.js, installs dependencies, and runs the `migrations:apply-staging` script.\n1. Deploys the application to Netlify using the specified instances.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenearth%2Frws-viewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenearth%2Frws-viewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenearth%2Frws-viewer/lists"}