{"id":28087839,"url":"https://github.com/wearefuturegov/beacon","last_synced_at":"2025-05-13T11:44:08.100Z","repository":{"id":37868920,"uuid":"250207349","full_name":"wearefuturegov/beacon","owner":"wearefuturegov","description":"Platform for councils and voluntary orgs to manage supply and demand during the coronavirus pandemic","archived":false,"fork":false,"pushed_at":"2023-03-08T20:37:47.000Z","size":3744,"stargazers_count":4,"open_issues_count":26,"forks_count":3,"subscribers_count":12,"default_branch":"master","last_synced_at":"2023-08-24T21:59:05.613Z","etag":null,"topics":["coronavirus","government","health","postgresql","rails"],"latest_commit_sha":null,"homepage":"https://beacon.support","language":"Ruby","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/wearefuturegov.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}},"created_at":"2020-03-26T08:56:21.000Z","updated_at":"2023-08-24T21:59:05.614Z","dependencies_parsed_at":"2023-02-11T14:31:00.527Z","dependency_job_id":null,"html_url":"https://github.com/wearefuturegov/beacon","commit_stats":null,"previous_names":[],"tags_count":12,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wearefuturegov%2Fbeacon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wearefuturegov%2Fbeacon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wearefuturegov%2Fbeacon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wearefuturegov%2Fbeacon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wearefuturegov","download_url":"https://codeload.github.com/wearefuturegov/beacon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253937655,"owners_count":21987397,"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":["coronavirus","government","health","postgresql","rails"],"created_at":"2025-05-13T11:44:07.494Z","updated_at":"2025-05-13T11:44:08.092Z","avatar_url":"https://github.com/wearefuturegov.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://beacon.support/\"\u003e\n        \u003cimg src=\"https://github.com/wearefuturegov/beacon/blob/master/app/assets/images/beacon.png?raw=true\" width=\"350px\" /\u003e               \n    \u003c/a\u003e\n\u003c/p\u003e\n  \n\u003cp align=\"center\"\u003e\n    \u003cem\u003eRecord and triage needs, get people the right support\u003c/em\u003e         \n\u003c/p\u003e\n\n---\n\n![Ruby Test Env](https://github.com/wearefuturegov/beacon/workflows/Ruby%20Test%20Env/badge.svg)\n\n🚨**This is BETA software.** Please submit issues for any bugs you find.🚨\n\nThis is a tool for local authorities and voluntary organisations to record and triage the needs of shielded people in their jurisdiction, and assign those needs to those who can meet them. Learn more at [beacon.support](https://beacon.support/).\n\nIt deals in:\n\n- 👩‍💻 **people in need**, who might be added by contact centre staff\n- ✅ **needs**, which can be created under a person in need, given a need type and claimed by users\n- 👩‍🔬 **users**, invited by email address whitelisting\n\nIt's a rails app backed by a postgresql database.\n\n## Running with Docker Compose\n\n### Build\n\nFollow these steps to build the database and app\n\n```\ndocker-compose build app\ndocker-compose run app bin/rails db:setup\n```\nAt this point you may get an error:\n```\nerror Couldn't find an integrity file\nerror Found 1 errors.\nYour Yarn packages are out of date!\nPlease run `yarn install --check-files` to update.\n```\nIf so, then run the following:\n```\ndocker-compose run app yarn install --check-files\n```\nOnce you have run this, re-run `docker-compose run app bin/rails db:setup` and then:\n```\ndocker-compose up\n```\n\nThe site will now be available on https://localhost:3000\n\nMore details on how to use and install Beacon with Docker can be found in the [DOCKER-README](DOCKER-README.md)\n\n### Run tests\n\n```\ndocker-compose run app rake\n```\n\n### Run app\n\n```\ndocker-compose up\n```\n\n## Running it locally\n\n```\ngit clone https://github.com/wearefuturegov/i-have-i-need\nbundle install\n\n# install javascript dependencies\nyarn install\n\n# launch postgres server via docker\ndocker-compose up -d postgresql\n\n# run create databases, run migrations and seeds\nrails db:setup\n\nrails server\n```\n\nIt'll be on **localhost:3000**.\n\nYou can log in using **admin@example.com**.\n    \n### How emails work\nEmails use GovUk notify.  You can view the email text sent in the log in development, including magic sign in links\n\n### Git Hooks\n```\n# to set git hooks\ni-have-i-need$ git config core.hooksPath .githooks\n\n# check for X permissions. Here is what you need:\ni-have-i-need/.githooks$ chmod +x pre-commit\ni-have-i-need/.githooks$ chmod +x pre-commit.d/01-rubocop\n```\n\n## Running it on the web\n\n[![Deploy](https://www.herokucdn.com/deploy/button.svg)](\nhttps://heroku.com/deploy)\n\nSuitable for 12-factor app hosting like [Heroku](http://heroku.com).\n\n[Sendgrid](https://sendgrid.com/) delivers emails in production. You need to make sure the API key environment variable is set.\n\nIt has a `Procfile` that will automatically run pending rails migrations on every deploy, to reduce downtime.\n\n## Adding new categories manually\n\nNavigate to the note model (`app/models/note.rb`) and within the `CALL_TITLE` constant add the new category string.\n\n## Roadmap\n\nComing soon...\n\n## Environment variables\n\n|        Name         |                                     Description                                     |\n| ------------------- | ----------------------------------------------------------------------------------- |\n| COUNCIL             | Config key for `councils.yml`                                                       |\n| NOTIFY_API_KEY      | Gov.uk Notify API key (production only)                                             |\n| HOSTNAME            | Hostname used in outbound emails (e.g. `x.beacon.com`). Defaults to heroku app name |\n| SEED_USER_EMAILS    | Optional comma-separated list of emails to seed users table with                    |\n| GA_PROPERTY_ID      | Optional Google Analytics property ID                                               |\n| LINK_EXPIRY_MINUTES | Magic link expiry time in minutes                                                                                    |\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwearefuturegov%2Fbeacon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwearefuturegov%2Fbeacon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwearefuturegov%2Fbeacon/lists"}