{"id":35241402,"url":"https://github.com/dimagi/connect-id","last_synced_at":"2026-02-23T11:42:36.839Z","repository":{"id":153597927,"uuid":"607007442","full_name":"dimagi/connect-id","owner":"dimagi","description":null,"archived":false,"fork":false,"pushed_at":"2026-01-28T07:12:28.000Z","size":762,"stargazers_count":2,"open_issues_count":5,"forks_count":1,"subscribers_count":7,"default_branch":"main","last_synced_at":"2026-01-28T16:36:30.476Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dimagi.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-02-27T05:38:15.000Z","updated_at":"2026-01-25T14:23:28.000Z","dependencies_parsed_at":"2024-01-03T00:42:29.417Z","dependency_job_id":"724f4f55-f198-4874-9da8-e84d6023618f","html_url":"https://github.com/dimagi/connect-id","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/dimagi/connect-id","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimagi%2Fconnect-id","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimagi%2Fconnect-id/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimagi%2Fconnect-id/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimagi%2Fconnect-id/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dimagi","download_url":"https://codeload.github.com/dimagi/connect-id/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimagi%2Fconnect-id/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29741731,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-23T07:44:07.782Z","status":"ssl_error","status_checked_at":"2026-02-23T07:44:07.432Z","response_time":90,"last_error":"SSL_read: 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":"2025-12-30T05:04:00.354Z","updated_at":"2026-02-23T11:42:36.822Z","avatar_url":"https://github.com/dimagi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Connect-ID\n\n## Steps to Set Up the Project Locally:\n\n1. **Create and activate a Python virtual environment using Python 3.11:**\n\n   ```bash\n   python3.11 -m venv \u003cvirtual-env-path\u003e\n   source \u003cvirtual-env-path\u003e/bin/activate  # On Windows, use \u003cvirtual-env-path\u003e\\Scripts\\activate\n   ```\n\n2. **Install the required dependencies:**\n\n   ```bash\n   pip install -r requirements-dev.txt\n   ```\n\n3. **Install Git hooks:**\n\n   ```bash\n   pre-commit install\n   pre-commit run -a\n   ```\n\n4. **Create an environment file and edit the settings as needed:**\n\n   ```bash\n   cp .env_template .env\n   ```\n\n5. **Set the following environment variables in the `.env` file:**\n\n   ```env\n   DATABASE_URL=\n   DEBUG=True\n   ```\n\n````\n6. **Run local services with docker-compose**\n   ```bash\n   docker compose up\n````\n\n7. **Run Django migrations and start the development server:**\n\n   ```bash\n   ./manage.py migrate\n   ./manage.py runserver\n   ```\n\n## Production Deploy\n\n### Setup\n\n#### Kamal\n\n(requires Ruby)\n\n```bash\ngem install kamal -v '~\u003e 1.9.2'\n```\n\n#### 1Password CLI\n\nSee https://developer.1password.com/docs/cli/get-started/\n\nNote: Do not use Flatpack or snap to install 1password CLI as these do not work with the SSH agent.\n\nYou will also need to update the 1Password configuration to allow it to access the SSH key:\n\n_~/.config/1Password/ssh/agent.toml_\n\n```toml\n[[ssh-keys]]\nvault = \"Commcare Connect\"\n```\n\nSee https://developer.1password.com/docs/ssh/agent for more details.\n\nTo test that this is working you can run:\n\n```bash\nssh connect@54.160.64.28\n```\n\n#### AWS CLI\n\n```bash\naws configure sso --profile commcare-connect\naws sso login --profile commcare-connect\n```\n\nNote: If you used a different profile name you will need to set the `AWS_PROFILE` environment variable to the profile name.\n\n### Deploy\n\nTo deploy run `kamal deploy` from within the `deploy` directory. Make sure you are on the `main` branch and have pulled the latest code.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimagi%2Fconnect-id","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdimagi%2Fconnect-id","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimagi%2Fconnect-id/lists"}