{"id":20486267,"url":"https://github.com/undp-data/sdg-labelling-app","last_synced_at":"2026-04-18T12:37:36.382Z","repository":{"id":154837061,"uuid":"629459044","full_name":"UNDP-Data/sdg-labelling-app","owner":"UNDP-Data","description":"A web app for labelling texts by SDG written in Python Dash.","archived":false,"fork":false,"pushed_at":"2023-08-04T08:59:57.000Z","size":8565,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-16T04:43:35.872Z","etag":null,"topics":["azure-web-apps","dash","python","sustainable-development-goals","text-labelling"],"latest_commit_sha":null,"homepage":"https://sdg-labelling-app.azurewebsites.net","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/UNDP-Data.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}},"created_at":"2023-04-18T11:04:13.000Z","updated_at":"2023-12-31T15:59:36.000Z","dependencies_parsed_at":"2023-09-30T01:57:04.965Z","dependency_job_id":null,"html_url":"https://github.com/UNDP-Data/sdg-labelling-app","commit_stats":{"total_commits":18,"total_committers":2,"mean_commits":9.0,"dds":0.05555555555555558,"last_synced_commit":"160917edd3342cb58bad7c51acd6b5299dbc19b1"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNDP-Data%2Fsdg-labelling-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNDP-Data%2Fsdg-labelling-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNDP-Data%2Fsdg-labelling-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UNDP-Data%2Fsdg-labelling-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UNDP-Data","download_url":"https://codeload.github.com/UNDP-Data/sdg-labelling-app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242061259,"owners_count":20065694,"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":["azure-web-apps","dash","python","sustainable-development-goals","text-labelling"],"created_at":"2024-11-15T16:35:53.219Z","updated_at":"2026-04-18T12:37:36.341Z","avatar_url":"https://github.com/UNDP-Data.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sdg-labelling-app\nA web app for labelling texts by SDG written in Python Dash.\n\n## Introduction \n\nThe application is designed to facilitate the collection of texts labelled by [Sustainable Development Goals](https://sdgs.un.org/goals) (SDGs).\nIt consists of two main components: a front-end web application written [Python Dash](https://dash.plotly.com) and a back-end database which can be\neither a native [MongoDB](https://www.mongodb.com) or [Azure Cosmos DB for MongoDB](https://learn.microsoft.com/en-us/azure/cosmos-db/mongodb/introduction).\n\nThe application can be run locally or on the remote server using Docker. For details about deployment, read the sections below.\n\n## Getting Started\n\nThe application has been developed in Python `3.10`.\n\n### Using Docker\n\nThe simplest way to get started with the app is\nto clone the repository and follow the instructions in another [README.md](docker/README.md).\n\n### Using Dash and MongoDB\n\nTo run the application without Docker, you will need two things: a virtual Python environment and a connection to a MongoDB instance (either local or remote).\n\n1. Create a virual environment by following the [instructions](https://docs.python.org/3/library/venv.html) from the official documentation.\n2. Install the dependencies with `pip install -r requirements.txt`.\n3. Specify the required environment variables (see below), including the connection to MongoDB.\n4. Run the app with `python app.py`.\n\nYou also need a connection to a MongoDB instance which must have two collections populated with data in a specific format. The two collections are `users` (which cannot be called anything else) and\n`texts` collection (whose can be called anything you want). You can manually import sample data JSON files under [docker/](docker/) directory or use your own data that follows the exact same format.\n\nTBC.\n\n## Build and Test\n\n \nBefore deploying a web app to Azure Web Services via GitHub Actions, set\nboth `WEBSITE_WEBDEPLOY_USE_SCM` ([source](https://learn.microsoft.com/en-gb/azure/app-service/deploy-github-actions?tabs=applevel#tabpanel_1_applevel)) and `SCM_DO_BUILD_DURING_DEPLOYMENT` ([source](https://learn.microsoft.com/en-us/azure/app-service/quickstart-python?tabs=flask%2Cwindows%2Cazure-cli%2Czip-deploy%2Cdeploy-instructions-azportal%2Cterminal-bash%2Cdeploy-instructions-zip-azcli#tabpanel_4_zip-deploy))\nto `true` in application settings.\n\n## Contribute\n\nTBC.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fundp-data%2Fsdg-labelling-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fundp-data%2Fsdg-labelling-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fundp-data%2Fsdg-labelling-app/lists"}