{"id":13557589,"url":"https://github.com/kobotoolbox/kobocat","last_synced_at":"2025-04-03T12:30:51.871Z","repository":{"id":11929291,"uuid":"14497749","full_name":"kobotoolbox/kobocat","owner":"kobotoolbox","description":"Our (backend) server for providing blank forms to Collect and Enketo and for receiving and storing submissions. ","archived":false,"fork":false,"pushed_at":"2024-09-10T19:28:08.000Z","size":28374,"stargazers_count":117,"open_issues_count":125,"forks_count":126,"subscribers_count":33,"default_branch":"main","last_synced_at":"2024-11-04T07:36:11.402Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kobotoolbox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"custom":["https://kobotoolbox.org/donate"]}},"created_at":"2013-11-18T16:16:32.000Z","updated_at":"2024-09-10T19:28:14.000Z","dependencies_parsed_at":"2023-10-13T06:16:47.232Z","dependency_job_id":"9b78307a-71d5-42cb-9c6a-36e20c2989c6","html_url":"https://github.com/kobotoolbox/kobocat","commit_stats":null,"previous_names":[],"tags_count":141,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kobotoolbox%2Fkobocat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kobotoolbox%2Fkobocat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kobotoolbox%2Fkobocat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kobotoolbox%2Fkobocat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kobotoolbox","download_url":"https://codeload.github.com/kobotoolbox/kobocat/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247002127,"owners_count":20867403,"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":[],"created_at":"2024-08-01T12:04:26.193Z","updated_at":"2025-04-03T12:30:46.858Z","avatar_url":"https://github.com/kobotoolbox.png","language":"Python","funding_links":["https://kobotoolbox.org/donate"],"categories":["Python","others"],"sub_categories":[],"readme":"# KoboCAT\n\n## Important notice when upgrading from any release older than [`2.024.19`](https://github.com/kobotoolbox/kobocat/releases/tag/2.024.19)\n\n`2.024.19` is the latest release for KoboCAT as a separate Django project. \n\nStarting from version [2.024.25](https://github.com/kobotoolbox/kpi/releases/tag/2.024.25),\nKoboCAT has been consolidated into KPI as an application called [**openrosa**](https://github.com/kobotoolbox/kpi/blob/django-kobocat-app/kobo/apps/openrosa/MIGRATION_AS_DJANGO_APP.md).\n\n\n## Important notice when upgrading from any release older than [`2.020.18`](https://github.com/kobotoolbox/kobocat/releases/tag/2.020.18)\n\nUp to and including release [`2.020.18`](https://github.com/kobotoolbox/kobocat/releases/tag/2.020.18), this project (KoboCAT) and [KPI](https://github.com/kobotoolbox/kpi) both shared a common Postgres database. They now each have their own. **If you are upgrading an existing single-database installation, you must follow [these instructions](https://community.kobotoolbox.org/t/upgrading-to-separate-databases-for-kpi-and-kobocat/7202)** to migrate the KPI tables to a new database and adjust your configuration appropriately.\n\nIf you do not want to upgrade at this time, please use the [`shared-database-obsolete`](https://github.com/kobotoolbox/kobocat/tree/shared-database-obsolete) branch instead.\n\n## Deprecation Notices\n\nMuch of the user-facing features of this application are being migrated\nto \u003chttps://github.com/kobotoolbox/kpi\u003e. KoboCAT's data-access API and\nOpenRosa functions will remain intact, and any plans to the contrary\nwill be announced well in advance. For more details and discussion,\nplease refer to\n\u003chttps://community.kobotoolbox.org/t/contemplating-the-future-of-kobocat/2743\u003e.\n\nAs features are migrated, we will list them here along with the last\nrelease where each was present:\n  - Starting from version [2.024.25](https://github.com/kobotoolbox/kpi/releases/tag/2.024.25),\n    the ability to import submissions in CSV to KoboCAT was\n    removed.\n  - On 14 June 2021, the ability to upload forms directly to KoboCAT was\n    removed, and it was announced that the legacy KoboCAT user interface would\n    be preserved for \"a few more months\". After more than two years, we have\n    removed the user interface and related endpoints entirely in release\n    [2.023.37](https://github.com/kobotoolbox/kobocat/releases/tag/2.023.37).\n    **This includes the ability to upload XLSForms via the legacy KoboCAT API.**\n    Please use the KPI `v2` API for all form management. Other removed features\n    should already be available in KPI as well. Please see\n    [REMOVALS.md](REMOVALS.md) for a complete list.\n  - To ensure security and stability, many endpoints that were already\n    available in KPI, long-unsupported, or underutilized have been removed in\n    release\n    [2.020.40](https://github.com/kobotoolbox/kobocat/releases/tag/2.020.40).\n    These were related to charts and stats, form cloning, form sharing, user\n    profiles, organizations / projects / teams, bamboo, and ziggy. For a full\n    list, please see [REMOVALS.md](REMOVALS.md). These endpoints were last\n    available in the release\n    [2.020.39](https://github.com/kobotoolbox/kobocat/releases/tag/2.020.39).\n  - REST Services - an improved version [has been added to\n    KPI](https://github.com/kobotoolbox/kpi/pull/1864). The last KoboCAT\n    release to contain legacy REST services is\n    [2.019.39](https://github.com/kobotoolbox/kobocat/releases/tag/2.019.39).\n\n## About\n\nkobocat is the data collection platform used in KoboToolbox. It is based\non the excellent [onadata](http://github.com/onaio/onadata) platform\ndeveloped by Ona LLC, which in itself is a redevelopment of the\n[formhub](http://github.com/SEL-Columbia/formhub) platform developed by\nthe Sustainable Engineering Lab at Columbia University.\n\nPlease refer to\n[kobo-install](https://github.com/kobotoolbox/kobo-install) for\ninstructions on how to install KoboToolbox.\n\n## Code Structure\n\n  - **logger** - This app serves XForms to and receives submissions from\n    ODK Collect and Enketo.\n  - **viewer** - This app provides a csv and xls export of the data\n    stored in logger. This app uses a data dictionary as produced by\n    pyxform. It also provides a map and single survey view.\n  - **main** - This app is the glue that brings logger and viewer\n    together.\n\n## Localization\n\nTo generate a locale from scratch (ex. Spanish)\n\n``` sh\n$ django-admin makemessages -l es -e py,html,email,txt ;\n$ for app in {main,viewer} ; do cd kobocat/apps/${app} \u0026\u0026 django-admin makemessages -d djangojs -l es \u0026\u0026 cd - ; done\n```\n\nTo update PO files\n\n``` sh\n$ django-admin makemessages -a ;\n$ for app in {main,viewer} ; do cd kobocat/apps/${app} \u0026\u0026 django-admin makemessages -d djangojs -a \u0026\u0026 cd - ; done\n```\n\nTo compile MO files and update live translations\n\n``` sh\n$ django-admin compilemessages ;\n$ for app in {main,viewer} ; do cd kobocat/apps/${app} \u0026\u0026 django-admin compilemessages \u0026\u0026 cd - ; done\n```\n## Testing in KoboCAT\n\nFor kobo-install users, enter the folder for kobo-install and run this command\n\n```\n./run.py -cf exec kobocat bash\n```\n\nFor all other users, enter the container using this command\n\n``` sh\n$ docker exec -it {{kobocat container}} /bin/bash\n```\n\nRun pip install the development dependencies\n\n``` sh\n$ pip install -r dependencies/pip/dev.txt\n```\n\nRun pytest to run all automated tests\n\n``` sh\n$ pytest\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkobotoolbox%2Fkobocat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkobotoolbox%2Fkobocat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkobotoolbox%2Fkobocat/lists"}