{"id":21696531,"url":"https://github.com/madetech/met-office-pwa-prototype","last_synced_at":"2026-04-07T23:31:05.505Z","repository":{"id":150895465,"uuid":"490234083","full_name":"madetech/met-office-pwa-prototype","owner":"madetech","description":null,"archived":false,"fork":false,"pushed_at":"2022-05-09T10:58:11.000Z","size":6344,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":22,"default_branch":"main","last_synced_at":"2026-01-03T21:08:36.730Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"met-office-pwa-prototype.vercel.app","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/madetech.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":"2022-05-09T10:22:03.000Z","updated_at":"2022-07-11T10:58:28.000Z","dependencies_parsed_at":"2023-04-20T12:00:28.943Z","dependency_job_id":null,"html_url":"https://github.com/madetech/met-office-pwa-prototype","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/madetech/met-office-pwa-prototype","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madetech%2Fmet-office-pwa-prototype","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madetech%2Fmet-office-pwa-prototype/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madetech%2Fmet-office-pwa-prototype/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madetech%2Fmet-office-pwa-prototype/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/madetech","download_url":"https://codeload.github.com/madetech/met-office-pwa-prototype/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madetech%2Fmet-office-pwa-prototype/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31533823,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":[],"created_at":"2024-11-25T19:20:20.943Z","updated_at":"2026-04-07T23:31:05.483Z","avatar_url":"https://github.com/madetech.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"- [Requirements](#requirements)\n- [Running the App Locally](#running-the-app-locally)\n- [Running Tests](#running-tests)\n- [Running Production Build Locally](#running-production-build-locally)\n- [Automated Formatting (in VSCode)](#automated-formatting-in-vscode)\n- [Environment Variables and Secrets](#environment-variables-and-secrets)\n\n## Requirements\n\n- Node \u003e= 12.22.0\n- NPM\n\n## Running the App Locally\n\nClone the repository:\n\n```bash\ngit clone git@github.com:JohnFarrellDev/met-office-demo.git\n```\n\nGo into the project:\n\n```bash\ncd met-office-demo\n```\n\nInstall dependencies:\n\n```bash\nnpm i\n```\n\nRun the development server:\n\n```bash\nnpm run dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) with your browser to see the result.\n\n## Running Tests\n\nIn watch mode:\n\n```bash\nnpm run test\n```\n\nRun all tests:\n\n```bash\nnpm run test:ci\n```\n\n## Running Production Build Locally\n\nYou can run the production build locally\n\nFirst build the app:\n\n```bash\nnpm run build\n```\n\nThen run the build output:\n\n```bash\nnpm run start\n```\n\n## Automated Formatting (in VSCode)\n\n- Open the command pallette in VSCode (ctrl + shift + p)\n- Search settings and open \"Preferences: Open Settings (JSON)\"\n- Add the following sections to your settings JSON\n\n```json\n\"editor.codeActionsOnSave\": {\n    \"source.fixAll.eslint\": true\n},\n\"editor.formatOnSave\": true,\n\"editor.defaultFormatter\": \"esbenp.prettier-vscode\"\n```\n\n- You will also benefit from installing two VSCode extensions (with these installed VSCode will highlight any linting issues):\n  - [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)\n  - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)\n- (you might need to restart VSCode for changes to be applied)\n\n## Environment Variables and Secrets\n\nCopy .env.sample to .env.local, .env.local is where your environment variables should live for local deployment. The copied file will contain all the required environment variables but not contain the required key values.\n\n```bash\ncp .env.sample .env.local\n```\n\n- MET_OFFICE_API_BASE_URL - URL required to call met office API for weather data - Set in .env.local and Vercel Environment Variables\n- MET_OFFICE_API_CLIENT_ID - Client ID for calling the API - Set in .env.local and Vercel Environment\n- MET_OFFICE_API_CLIENT_SECRET - Client secret for calling the met office API - Set in .env.local and Vercel Environment\n- CHROMATIC_PROJECT_TOKEN - Token to allow chromatic to pull changes from our repo for visual regression testing - Set in Github secrets\n- YOUTUBE_API_KEY - Client secret for calling the YouTube Data API (allows fetching latest uploaded video by the Met Office) - Set in .env.local and Vercel Environment\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmadetech%2Fmet-office-pwa-prototype","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmadetech%2Fmet-office-pwa-prototype","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmadetech%2Fmet-office-pwa-prototype/lists"}