{"id":28956952,"url":"https://github.com/developmentseed/pearl-frontend","last_synced_at":"2025-06-23T21:41:16.109Z","repository":{"id":37824079,"uuid":"453033776","full_name":"developmentseed/pearl-frontend","owner":"developmentseed","description":"PEARL (Planetary Computer Land Cover Mapping)  Frontend","archived":false,"fork":false,"pushed_at":"2024-04-29T13:37:37.000Z","size":32639,"stargazers_count":18,"open_issues_count":31,"forks_count":6,"subscribers_count":5,"default_branch":"develop","last_synced_at":"2024-06-24T04:55:01.786Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://landcover.io","language":"JavaScript","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/developmentseed.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}},"created_at":"2022-01-28T10:56:41.000Z","updated_at":"2024-04-29T08:46:29.000Z","dependencies_parsed_at":"2024-03-11T12:28:43.533Z","dependency_job_id":"ccc93c14-e48b-4c27-9b25-ef9b0b2485e8","html_url":"https://github.com/developmentseed/pearl-frontend","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/developmentseed/pearl-frontend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developmentseed%2Fpearl-frontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developmentseed%2Fpearl-frontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developmentseed%2Fpearl-frontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developmentseed%2Fpearl-frontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/developmentseed","download_url":"https://codeload.github.com/developmentseed/pearl-frontend/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developmentseed%2Fpearl-frontend/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261561277,"owners_count":23177564,"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":"2025-06-23T21:41:14.790Z","updated_at":"2025-06-23T21:41:16.093Z","avatar_url":"https://github.com/developmentseed.png","language":"JavaScript","readme":"\u003ch1 align=center\u003ePEARL Frontend\u003c/h1\u003e\n\nWeb application for Planetary Computer Land Cover Mapping platform. For the API and infrastructure, see [pearl-backend](https://github.com/developmentseed/pearl-backend).\n\n## Installation and Usage\n\nThe steps below will walk you through setting up your own instance of the project.\n\n### Install Project Dependencies\n\nTo set up the development environment for this website, you'll need to install the following on your system:\n\n- [Node](http://nodejs.org/) (see [.nvmrc](./.nvmrc)) (To manage multiple node versions we recommend [nvm](https://github.com/creationix/nvm))\n- [Yarn](https://yarnpkg.com/) package manager\n\n### Install Application Dependencies\n\nIf you use [`nvm`](https://github.com/creationix/nvm), activate the desired Node version:\n\n```sh\nnvm install\n```\n\nInstall Node modules:\n\n```sh\nyarn install\n```\n\n### Usage\n\n#### Config files\n\nAll the config files can be found in `app/assets/scripts/config`.\nAfter installing the following files will be available:\n\n- `base.js`: default configuration for all environments\n- `cypress.js`: configuration used when running Cypress specs\n- `production.js`, `testing.js`, `staging.js`: deployment environments\n- `local.js`: Used only for local development, will override any of previous files. On production this file should not exist or be empty\n\nThe following options must be set: (The used file will depend on the context):\n\n- `value` - Description\n\nExample:\n\n```javascript\nmodule.exports = {\n  value: 'some-value',\n};\n```\n\n#### Dependencies\n\nThis project uses components from the DevSeed UI Library. Library collecticons are included and can be used in both library and local components. The gulp file still runs a task to compile compile local icons. To add a custom icon, add to `icons/collecticons` and import `collecticon` from `./app/scripts/styles/collecticons/index.js`.\n\n#### Starting the app\n\n```sh\nyarn serve\n```\n\nCompiles the javascript and launches the server making the site available at `http://localhost:9000/`\nThe system will watch files and execute tasks whenever one of them changes.\nThe site will automatically refresh since it is bundled with livereload.\n\n## Local Testing with Cypress\n\nThe app is using Cypress to perform end-to-end testing. New tests should be added to `cypress/integrations/*.spec.js`.\n\nStart the front-end for Cypress testing:\n\n```sh\nyarn serve:cypress\n```\n\nRun tests:\n\n```sh\nyarn cy:run\n```\n\nThis the method used in CI for PR/merge checks.\n\n## Develop with Cypress Dashboard and auto-reload\n\nThis should be the easiest method for developing locally. Start the app with\nauto-reload:\n\n```sh\nyarn serve\n```\n\nOpen Cypress dashboard: `yarn cy:open`.\n\nTo use a different API, please add REST and Websocket URLs to `config/local.js`.\n\n## Stress test an live API\n\nBy default, Cypress will use mocked API endpoints for testing. Please do the\nfollow steps to run automate testing using a live API:\n\n1. Start the app using `testing` API with `yarn serve:testing`\n2. Visit http://localhost:9000\n3. Login to the website, following Auth0 workflow\n4. Open developer tools, visit a protected route and collect your API Token by\n   inspecting request headers to the API\n5. Add `apiToken` property to `config/local.json` with value collected\n6. Start Cypress Dashboard in \"stress\" mode: `yarn cy:open:stress`\n\nPlease refer to instructions in [cypress/integration/stress-live-api.spec.js]() file\nfor more details on this testing approach.\n\nTo run test against an API other than `testing`, replace the first step with:\n\n- Update `config/local.json` with target API URLs (REST and Websocket)\n- Start front-end server: `yarn serve`\n\n## Deployment\n\nTo prepare the app for deployment run:\n\n```sh\nyarn build\n```\n\nor\n\n```sh\nyarn stage\n```\n\nThis will package the app and place all the contents in the `dist` directory.\nThe app can then be run by any web server.\n\n## License\n\n[MIT](LICENSE)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevelopmentseed%2Fpearl-frontend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevelopmentseed%2Fpearl-frontend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevelopmentseed%2Fpearl-frontend/lists"}