{"id":19402599,"url":"https://github.com/cscfi/metadata-submitter-frontend","last_synced_at":"2025-06-27T22:06:22.590Z","repository":{"id":37765044,"uuid":"270684306","full_name":"CSCfi/metadata-submitter-frontend","owner":"CSCfi","description":"Frontend for Metadata Submission Interface.","archived":false,"fork":false,"pushed_at":"2025-06-24T08:11:27.000Z","size":29072,"stargazers_count":5,"open_issues_count":38,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-06-24T09:27:06.405Z","etag":null,"topics":["metadata-management","react"],"latest_commit_sha":null,"homepage":"https://metadata-submitter.rtfd.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CSCfi.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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}},"created_at":"2020-06-08T13:44:23.000Z","updated_at":"2025-06-24T08:11:31.000Z","dependencies_parsed_at":"2024-02-13T14:37:45.142Z","dependency_job_id":"7dcdd1f2-dd8b-4ebd-94d1-e640bdf1e1a5","html_url":"https://github.com/CSCfi/metadata-submitter-frontend","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/CSCfi/metadata-submitter-frontend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSCfi%2Fmetadata-submitter-frontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSCfi%2Fmetadata-submitter-frontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSCfi%2Fmetadata-submitter-frontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSCfi%2Fmetadata-submitter-frontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CSCfi","download_url":"https://codeload.github.com/CSCfi/metadata-submitter-frontend/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CSCfi%2Fmetadata-submitter-frontend/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262341617,"owners_count":23296069,"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":["metadata-management","react"],"created_at":"2024-11-10T11:24:41.864Z","updated_at":"2025-06-27T22:06:22.581Z","avatar_url":"https://github.com/CSCfi.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SD Submit UI\n\n[![Unit tests and coverage](https://github.com/CSCfi/metadata-submitter-frontend/actions/workflows/unittests.yml/badge.svg)](https://github.com/CSCfi/metadata-submitter-frontend/actions/workflows/unittests.yml)\n![Code style check](https://github.com/CSCfi/metadata-submitter-frontend/workflows/Code%20style%20check/badge.svg)\n[![Static type checks](https://github.com/CSCfi/metadata-submitter-frontend/actions/workflows/typechecks.yml/badge.svg)](https://github.com/CSCfi/metadata-submitter-frontend/actions/workflows/typechecks.yml)\n[![Coverage Status](https://coveralls.io/repos/github/CSCfi/metadata-submitter-frontend/badge.svg?branch=master)](https://coveralls.io/github/CSCfi/metadata-submitter-frontend?branch=master)\n\nSD Submit UI, also known as metadata submission frontend provides graphical user interface (GUI) for filling in and submitting metadata. This frontend repository is tightly coupled with backend repository called SD Submit API - link to repository in [Gitlab](https://gitlab.ci.csc.fi/sds-dev/sd-submit/metadata-submitter/) / [Github](https://github.com/CSCfi/metadata-submitter).\n\n## 💻 Development\n\n\u003cdetails\u003e\u003csummary\u003eClick to expand\u003c/summary\u003e\n\n### Prerequisites\n\n- Node 20+\n- pnpm\n- Backend\n\nInstall pnpm that suits your machine from [pnpm installation](https://pnpm.io/installation).\n\nInstall and run backend from SD Submit API repository [Gitlab](https://gitlab.ci.csc.fi/sds-dev/sd-submit/metadata-submitter/) / [Github](https://github.com/CSCfi/metadata-submitter).\n\n\u003e **Note:** If you run the backend with `docker compose`, you will then also need to set the `REDIRECT_URL` environment variable to the UI address (e.g. add `REDIRECT_URL=http://localhost:3000` into the `.env` file).\n\n### Running\n\nAfter the backend is up and running, install and run frontend with:\n\n```bash\npnpm install\n\npnpm start\n```\n\nIf `pnpm install` leaves corrupted pnpm-lock.yaml, try to fix with `pnpm i --frozen-lockfile`.\n\nAfter installing and running, frontend can be found from `http://localhost:3000`.\n\n\u003c/details\u003e\n\n## 🛠️ Contributing\n\n\u003cdetails\u003e\u003csummary\u003eClick to expand\u003c/summary\u003e\n\nDevelopment team members should check internal [contributing guidelines for Gitlab](https://gitlab.ci.csc.fi/groups/sds-dev/-/wikis/Guides/Contributing).\n\nIf you are not part of CSC and our development team, your help is nevertheless very welcome. Please see [contributing guidelines for Github](CONTRIBUTING.md).\n\n\u003c/details\u003e\n\n## 🧪 Testing\n\n\u003cdetails\u003e\u003csummary\u003eClick to expand\u003c/summary\u003e\n\n### Code format check\n\nYou can find the rules for checking in `eslint.config.js` and `.prettierrc`. Linting, formatting and unit testing are also configured for you as a git pre-commit with Husky, which is recommended to use to avoid fails on CI pipeline. Please see [pre-commit hook](.husky/pre-commit).\n\n- For checking code quality and fixing potential bugs:\n\n```bash\n# Only check code quality\npnpm run lint:check\n\n# OR check and fix potential bugs\npnpm run lint\n```\n\n- For checking code format and fixing formatting errors in json/yaml/css/md -files:\n\n```bash\n# Ony check code format\npnpm run format:check\n\n# OR check and fix formatting errors\npnpm run format\n```\n\n### Unit tests\n\nUnit tests and components are run by Vitest and React Testing Library using these commands:\n\n```bash\n# For watching real-time code changes\npnpm test\n\n# Without watching the code changes\npnpm test:no-watch\n\n# For a summary of test coverage\npnpm test:coverage\n\n# For running a single test file\npnpm test /relativePath/to/test/file\n```\n\n### End-to-end tests\n\n1. Copy env variables from `.env.example` to your `.env` file, these variables are needed to run some of the tests.\n\n```bash\ncp .env.example .env\n```\n\n2. Make sure we have latest browser binaries and their dependencies which match the current playwright version\n\n```bash\npnpm dlx playwright install --with-deps\n\n# OR if you have issue with your PATH\npnpm exec playwright install --with-deps\n```\n\n3. Run the tests in CLI:\n\n```bash\npnpm test:e2e\n\n# For running a single test file\npnpm test:e2e /relativePath/to/test/file\n\n# OR you can run the tests in UI mode\npnpm test:e2e:ui\n```\n\n\u003e **Note**\n\u003e\n\u003e e2e tests running in UI mode could have different result from the CLI. So if you are running the tests in UI mode, it may worth checking how they run in CLI as well, since the tests in Gitlab will be running in CLI.\n\n\u003c/details\u003e\n\n## Deployment\n\n\u003cdetails\u003e\u003csummary\u003eClick to expand\u003c/summary\u003e\n\nTo build the frontend for deployment, run:\n\n```\npnpm run build\n```\n\nThe static files are put in the `build` folder.\n\n\u003c/details\u003e\n\n## 📜 Repository' structure\n\n\u003cdetails\u003e\u003csummary\u003eClick to expand\u003c/summary\u003e\n\nTo have an overview of this repository, see [STRUCTURE](STRUCTURE.md).\n\n\u003c/details\u003e\n\n## 📜 License\n\n\u003cdetails\u003e\u003csummary\u003eClick to expand\u003c/summary\u003e\n\nMetadata submission UI is released under `MIT`, see [LICENSE](LICENSE).\n\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcscfi%2Fmetadata-submitter-frontend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcscfi%2Fmetadata-submitter-frontend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcscfi%2Fmetadata-submitter-frontend/lists"}