{"id":20038701,"url":"https://github.com/defra/epr-regulator-service","last_synced_at":"2026-04-17T19:32:15.861Z","repository":{"id":213119686,"uuid":"725981065","full_name":"DEFRA/epr-regulator-service","owner":"DEFRA","description":null,"archived":false,"fork":false,"pushed_at":"2026-04-17T13:27:02.000Z","size":7341,"stargazers_count":3,"open_issues_count":8,"forks_count":1,"subscribers_count":8,"default_branch":"main","last_synced_at":"2026-04-17T15:35:22.892Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DEFRA.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","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":"2023-12-01T09:27:25.000Z","updated_at":"2026-04-02T08:52:23.000Z","dependencies_parsed_at":"2024-11-06T10:43:46.213Z","dependency_job_id":"53a683e8-c4f9-44d7-aeca-f16c885cf7fc","html_url":"https://github.com/DEFRA/epr-regulator-service","commit_stats":null,"previous_names":["defra/epr-regulator-service"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/DEFRA/epr-regulator-service","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DEFRA%2Fepr-regulator-service","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DEFRA%2Fepr-regulator-service/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DEFRA%2Fepr-regulator-service/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DEFRA%2Fepr-regulator-service/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DEFRA","download_url":"https://codeload.github.com/DEFRA/epr-regulator-service/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DEFRA%2Fepr-regulator-service/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31943327,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T17:29:20.459Z","status":"ssl_error","status_checked_at":"2026-04-17T17:28:47.801Z","response_time":62,"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":[],"created_at":"2024-11-13T10:32:05.183Z","updated_at":"2026-04-17T19:32:15.855Z","avatar_url":"https://github.com/DEFRA.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EPR Regulator Service\n\n## Introduction\n\nThis Regulator Service contains the front end for the regulator portal. This is the main regulator service for [Extended producer responsibility for packaging](https://www.gov.uk/government/collections/extended-producer-responsibility-for-packaging) (EPR).\n\nThe application serves as the primary regulatory portal for government regulators across England, Wales, Scotland, and Northern Ireland to oversee organisation registrations, packaging data submissions, and user account management within the EPR ecosystem.\n\nThis application supports regulatory officials with different access levels (admin and basic) who need to:\n\n- Review and approve/reject organisation applications and enrolments\n- Manage packaging data submissions (POM submissions)\n- Oversee registration submissions and compliance\n- Administer approved persons and delegated users\n- Handle reprocessor/exporter registrations and accreditations\n- Generate reports and download submission data\n\n## Development\n\n### Pipelines\n\n- [build](https://dev.azure.com/defragovuk/RWD-CPR-EPR4P-ADO/_build?definitionId=5593)\n- [deploy](https://dev.azure.com/defragovuk/RWD-CPR-EPR4P-ADO/_build?definitionId=5595)\n\n### Semantic commits\n\nThis repo supports [automatic generation of release notes](pipelines/release-notes/README.md).\n\n### Prerequisites\n\n- Dotnet SDK v8.0\n- NodeJs v24\n\n### NuGet dependencies\n\nThis project depends on private nuget feed with a packaged version of [epr-common](https://github.com/DEFRA/epr-common).\n\nIf you have access to the private feed then you can use [The Azure Artifacts Credential Provider](https://github.com/microsoft/artifacts-credprovider).\n\nIf you don't have access to the private feed you can clone [epr-common](https://github.com/DEFRA/epr-common) and use [DNT](https://github.com/RicoSuter/DNT?tab=readme-ov-file#switch-to-projects) to switch from NuGet package references to local project references:\n\n```sh\ncd src\ndnt switch-to-projects   # switch to local project references\n```\n\nThe mappings are defined in [`src/switcher.json`](src/switcher.json).\n\n### Redis\n\nThe regulator service requires Redis, the recommended way of running Redis is to run it via Docker.\n\n```sh\n$ docker run -d --name epr-producers- -p 6379:6379 -p 8001:8001 redis/redis-stack:latest\n```\n\n[Additional information about running services locally is available on confluence](https://eaflood.atlassian.net/wiki/spaces/MWR/pages/4326916153/Running+frontend+apps+locally+with+Redis+Azure+b2c+integration)\n\n\u003e When using the regulator facade and backend microservice, Redis will already be running, and a PAT will already have been issued for the `epr-packaging-common` package store so some steps can be skipped.\n\n### Backing services\n\nThis service depends on running copies of the following services, with URLs configured in user-secrets:\n\n- [epr-regulator-service-facade](https://github.com/DEFRA/epr-regulator-service-facade)\n- [epr-payment-facade](https://github.com/DEFRA/epr-payment-facade)\n\nThe urls for these are configurable. Set the urls for dev azure in user-secrets as below.\n\nTo override the url to use locally run facade service(s) use the alternate [launchProfile](src/EPR.RegulatorService.Frontend.Web/Properties/launchSettings.json) which can be selected from the IDE menu or with dotnet run as follows:\n\n```sh\ndotnet run --launch-profile \"local-facade\" --project src/EPR.RegulatorService.Frontend.Web/EPR.RegulatorService.Frontend.Web.csproj\n```\n\nThe backing facade apis can be run as:\n\n1. Services on the azure dev environments (private) - urls configured in user secrets with the private [epr-tools-environment app (also private)](https://dev.azure.com/defragovuk/RWD-CPR-EPR4P-ADO/_git/epr-tools-environment-variables?version=GBux-fixes) or pulled directly from environment config manually.\n2. Locally checked out and run facade code - use the \"local-facade\" launchProfile to connect to it\n3. Mock facade projects in this sln - use the \"local-facade\" launchProfile to connect to it as shown above\n\n### Configuration\n\nIn order to run the EPR Regulator Service, some configuration will need to be set in user-secrets. Configuration properties will be separated by `.` in this documentation.\n\nInternal developers can set appropriate user-secrets by using the private [epr-tools-environment-variables](https://dev.azure.com/defragovuk/RWD-CPR-EPR4P-ADO/_git/epr-tools-environment-variables?path=%2F\u0026version=GBbigtool-vibe\u0026_a=contents) project.\n\n#### B2C Client \n`AzureAdB2C.ClientSecret` will need to be set for the `ClientId` being used.\n\n#### EprAuthorizationConfig\n\nAuthorization is handled by NuGet package [EPR.Common.Authorization](https://github.com/DEFRA/epr-common/tree/main/src/EPR.Common/EPR.Common.Authorization) which requires [settings under the EprAuthorizationConfig section](https://github.com/DEFRA/epr-common/blob/d910b3579c789202e311495e1577e47bf1c4404c/src/EPR.Common/EPR.Common.Authorization/Config/EprAuthorizationConfig.cs#L3).\n\n`EprAuthorizationConfig:FacadeBaseUrl` should to point to the [regulator-facade](https://github.com/DEFRA/epr-regulator-service-facade) (WAx406).\n\n#### Facade APIs\n\n`FacadeApi:BaseUrl` should point to the [regulator-facade](https://github.com/DEFRA/epr-regulator-service-facade) (WAx406).\n\nRegulator facade can be swapped out for the mock facade running locally. launchSettings have been added to easily flip to the local mock or local running facade api.\n\n#### Landing page urls\n\nIf the `frontend-accountmanagement-microservice` is also running locally, `LandingPageUrls.ManageAccountUrl` will need updated to point to whichever port the account management frontend is listening on.\n\n### Installation process\n\n#### Jetbrains Rider\n\n- Open `src/Epr.RegulatorService.sln` in Rider\n- Configure `epr-packaging-common` nuget source in Rider\n- Build the solution `Build -\u003e Build Solution`\n- Run/Debug the `EPR.RegulatorService.Frontend.Web` project `Run -\u003e Run 'EPR.RegulatorService.Frontend.Web: '`\n\n#### .NET CLI\n\n- Run the Regulator frontend with `dotnet run --project src/EPR.RegulatorService.Frontend.Web/EPR.RegulatorService.Frontend.Web.csproj`\n- Navigate to https://localhost:7154/regulators/ (note the root url `/` does not work)\n- You will need a valid login that is available in both Azure B2C and the configured backend account service.\n\n### Running unit tests\n\nSee also the [Integration Tests](src/IntegrationTests/README.md)\n\n#### Jetbrains Rider\n\nEither open the `Unit Tests` tab and run all unit tests with the `Run All Tests` button, or navigate to `Tests -\u003e Run All Tests For Solution`\n\n#### .NET CLI\n\n- From `src/` run `dotnet test`\n\n```\n$ dotnet test\n...\nTest run for epr_regulator_service\\src\\EPR.RegulatorService.Frontend.UnitTests\\bin\\Debug\\net6.0\\EPR.RegulatorService.Frontend.UnitTests.dll (.NETCoreApp,Version=v6.0)\nMicrosoft (R) Test Execution Command Line Tool Version 17.3.3 (x64)\nCopyright (c) Microsoft Corporation.  All rights reserved.\n\nStarting test execution, please wait...\nA total of 1 test files matched the specified pattern.\n\nPassed!  - Failed:     0, Passed:    51, Skipped:     0, Total:    51, Duration: 800 ms - EPR.RegulatorService.Frontend.UnitTests.dll (net6.0)\n```\n\n## Contributing to this project\nPlease read the [contribution guidelines](CONTRIBUTING.md) before submitting a pull request.\n\n## Licence\n[Licence information](LICENCE.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdefra%2Fepr-regulator-service","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdefra%2Fepr-regulator-service","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdefra%2Fepr-regulator-service/lists"}