{"id":27998150,"url":"https://github.com/alphagov/notifications-admin","last_synced_at":"2025-08-28T23:33:18.626Z","repository":{"id":37407179,"uuid":"46421986","full_name":"alphagov/notifications-admin","owner":"alphagov","description":"GOV.UK Notify frontend application","archived":false,"fork":false,"pushed_at":"2025-05-08T16:08:09.000Z","size":293595,"stargazers_count":44,"open_issues_count":15,"forks_count":37,"subscribers_count":15,"default_branch":"main","last_synced_at":"2025-05-08T22:49:40.691Z","etag":null,"topics":["flask","government-as-a-platform","govuk-notify","python"],"latest_commit_sha":null,"homepage":"https://www.gov.uk/notify","language":"Python","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/alphagov.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,"zenodo":null}},"created_at":"2015-11-18T13:55:17.000Z","updated_at":"2025-05-08T14:01:50.000Z","dependencies_parsed_at":"2023-09-27T18:55:36.308Z","dependency_job_id":"3da3298e-ad72-426a-95cd-9a562d1a43b1","html_url":"https://github.com/alphagov/notifications-admin","commit_stats":null,"previous_names":[],"tags_count":745,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alphagov%2Fnotifications-admin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alphagov%2Fnotifications-admin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alphagov%2Fnotifications-admin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alphagov%2Fnotifications-admin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alphagov","download_url":"https://codeload.github.com/alphagov/notifications-admin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253160827,"owners_count":21863624,"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":["flask","government-as-a-platform","govuk-notify","python"],"created_at":"2025-05-08T22:49:45.708Z","updated_at":"2025-05-08T22:49:46.300Z","avatar_url":"https://github.com/alphagov.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# notifications-admin\n\nGOV.UK Notify admin application - https://www.notifications.service.gov.uk/\n\n - Register and manage users\n - Create and manage services\n - Send batch emails and SMS by uploading a CSV\n - Show history of notifications\n\n## Setting up\n\n### Python version\n\nAt the moment we run Python 3.11 in production.\n\n### NodeJS \u0026 NPM\n\nIf you don't have NodeJS on your system, install it with homebrew.\n\n```shell\nbrew install node\n```\n\n`nvm` is a tool for managing different versions of NodeJS. Follow [the guidance on nvm's github repository](https://github.com/nvm-sh/nvm#installing-and-updating) to install it.\n\nOnce installed, run the following to switch to the version of NodeJS for this project. If you don't\nhave that version, it should tell you how to install it.\n\n```shell\nnvm use\n```\n\n### `environment.sh`\n\nIn the root directory of the application, run:\n\n```\necho \"\nexport NOTIFY_ENVIRONMENT='development'\nexport FLASK_APP=application.py\nexport FLASK_DEBUG=1\nexport WERKZEUG_DEBUG_PIN=off\n\"\u003e environment.sh\n```\n\n### AWS credentials\n\nTo run parts of the app, such as uploading letters, you will need appropriate AWS credentials. See the [Wiki](https://github.com/alphagov/notifications-manuals/wiki/aws-accounts#how-to-set-up-local-development) for more details.\n\n### uv\n\nWe use [uv](https://github.com/astral-sh/uv) for Python dependency management. Follow the [install instructions](https://github.com/astral-sh/uv?tab=readme-ov-file#installation) or run:\n\n```bash\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n```\n\n### Pre-commit\n\nWe use [pre-commit](https://pre-commit.com/) to ensure that committed code meets basic standards for formatting, and will make basic fixes for you to save time and aggravation.\n\nInstall pre-commit system-wide with, eg `brew install pre-commit`. Then, install the hooks in this repository with `pre-commit install --install-hooks`.\n\n## To run the application\n\n```shell\n# install dependencies, etc.\nmake bootstrap\n\n# run the web app\nmake run-flask\n```\n\nThen visit [localhost:6012](http://localhost:6012).\n\nAny Python code changes you make should be picked up automatically in development. If you're developing JavaScript or CSS code, run `make watch-frontend` to achieve the same.\n\n## To test the application\n\n```\n# install dependencies, etc.\nmake bootstrap\n\n# run all the tests\nmake test\n\n# run the js tests\nnpx jest\n\n# run a single js test\nnpx jest \u003cpathToAJavascriptTestfile\u003e\n\n# continuously run js tests\nnpm run test-watch\n\n# debug a js test in chrome\nnpm run debug --test=[name of test file]\n```\n\nTo run a specific JavaScript test, you'll need to copy the full command from `package.json`.\n\n## Further docs\n\n- [Working with static assets](docs/static-assets.md)\n- [JavaScript documentation](https://github.com/alphagov/notifications-manuals/wiki/JavaScript-Documentation)\n- [Updating dependencies](https://github.com/alphagov/notifications-manuals/wiki/Dependencies)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falphagov%2Fnotifications-admin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falphagov%2Fnotifications-admin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falphagov%2Fnotifications-admin/lists"}