{"id":22366544,"url":"https://github.com/microsoft/spring-todo-app","last_synced_at":"2025-07-30T17:31:51.152Z","repository":{"id":42674730,"uuid":"153924825","full_name":"microsoft/spring-todo-app","owner":"microsoft","description":"Spring Boot TODO app","archived":false,"fork":false,"pushed_at":"2022-09-02T01:28:16.000Z","size":38,"stargazers_count":42,"open_issues_count":3,"forks_count":45,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-12-04T17:49:08.867Z","etag":null,"topics":["cosmosdb","java","spring","spring-boot","spring-data-cosmosdb"],"latest_commit_sha":null,"homepage":null,"language":"Java","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/microsoft.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":"SECURITY.md","support":null}},"created_at":"2018-10-20T16:22:20.000Z","updated_at":"2024-11-14T07:07:51.000Z","dependencies_parsed_at":"2023-01-17T20:16:13.435Z","dependency_job_id":null,"html_url":"https://github.com/microsoft/spring-todo-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fspring-todo-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fspring-todo-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fspring-todo-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fspring-todo-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/spring-todo-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228164535,"owners_count":17879085,"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":["cosmosdb","java","spring","spring-boot","spring-data-cosmosdb"],"created_at":"2024-12-04T18:13:41.922Z","updated_at":"2024-12-04T18:13:42.480Z","avatar_url":"https://github.com/microsoft.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spring Todo App\n\nThis Spring TODO app is a Java application\nbuilt using [Spring Boot](https://spring.io/projects/spring-boot), \n[Spring Data for \nCosmos DB](https://docs.microsoft.com/en-us/java/azure/spring-framework/configure-spring-boot-starter-java-app-with-cosmos-db?view=azure-java-stable) and \n[Azure Cosmos DB](https://docs.microsoft.com/en-us/azure/cosmos-db/sql-api-introduction). \n\n## Requirements\n\n| [Azure CLI](http://docs.microsoft.com/cli/azure/overview) | [Java 8](https://www.azul.com/downloads/azure-only/zulu) | [Maven 3](http://maven.apache.org/) | [Git](https://github.com/) |\n\n## Create Azure Cosmos DB\n\nCreate Azure Cosmos DB \nusing [Azure CLI 2.0](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest) \n\n### STEP A - LOGIN to Azure\nLogin your Azure CLI, and set your subscription \n    \n```bash\naz login\naz account set -s \u003cyour-subscription-id\u003e\n```\n### STEP B - Create Resource Group\n\nCreate an Azure Resource Group, and note down the resource group name\n\n```bash\naz group create -n \u003cyour-azure-group-name\u003e \\\n    -l \u003cyour-resource-group-region\u003e\n```\n\n### STEP C - Create COSMOS DB\n\nCreate Azure Cosmos DB with GlobalDocumentDB kind. \nThe name of Cosmos DB must use only lower case letters. Note down the `documentEndpoint` field in the response\n\n```bash\naz cosmosdb create --kind GlobalDocumentDB \\\n    -g \u003cyour-azure-group-name\u003e \\\n    -n \u003cyour-azure-COSMOS-DB-name-in-lower-case-letters\u003e\n```\n\n### STEP D - Get COSMOS DB Key\n\nGet your Azure Cosmos DB key, get the `primaryMasterKey`\n\n```bash\naz cosmosdb list-keys -g \u003cyour-azure-group-name\u003e -n \u003cyour-azure-COSMOSDB-name\u003e\n```\n\n## Running Spring TODO App locally\n\n### STEP 1 - Checkout Spring TODO app\n\n```bash\ngit clone https://github.com/Microsoft/spring-todo-app.git\ncd spring-todo-ap\n```  \n    \n### STEP 2 - Configure the app\n\nSet environment variables using a script file. Start with \nthe supplied template in the repo: \n\n```bash\ncp set-env-variables-template.sh .scripts/set-env-variables.sh\n```\n \nEdit .scripts/set-env-variables.sh and supply Azure \nCosmos DB connection info. Particularly:\n\n```bash\nexport COSMOS_URI=\u003cput-your-COSMOS-DB-documentEndpoint-URI-here\u003e\nexport COSMOS_KEY=\u003cput-your-COSMOS-DB-primaryMasterKey-here\u003e\nexport COSMOS_DATABASE=\u003cput-your-COSMOS-DATABASE-name-here\u003e\n```\n    \n    \nSet environment variables:\n\n```bash\nsource .scripts/set-env-variables.sh\n```\n\n### STEP 3 - Run Spring TODO App locally\n\n```bash\nmvn package spring-boot:run\n```\nYou can access Spring TODO App here: [http://localhost:8080/](http://localhost:8080/).\n\n## Clean up\n\nYou can delete Azure resources that you created deleting \nthe Azure Resource Group:\n\n```bash\naz group delete -y --no-wait -n \u003cyour-resource-group-name\u003e\n```\n\n## Contributing\n\nThis project welcomes contributions and suggestions.  Most contributions require you to agree to a\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\nthe rights to use your contribution. For details, visit https://cla.microsoft.com.\n\nWhen you submit a pull request, a CLA-bot will automatically determine whether you need to provide\na CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions\nprovided by the bot. You will only need to do this once across all repos using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n\n## Useful link\n- [Azure Spring Boot Starters](https://github.com/Microsoft/azure-spring-boot)\n- [Azure for Java Developers](https://docs.microsoft.com/en-us/java/azure/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fspring-todo-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2Fspring-todo-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fspring-todo-app/lists"}