{"id":29492589,"url":"https://github.com/sudhanshugt/todos-api","last_synced_at":"2026-05-19T09:08:12.894Z","repository":{"id":304694528,"uuid":"1019635647","full_name":"sudhanshuGt/todos-api","owner":"sudhanshuGt","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-14T16:32:21.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-14T21:17:15.704Z","etag":null,"topics":["freeapi","java","spring-boot","todo","todoapi","todolist"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sudhanshuGt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-07-14T16:24:29.000Z","updated_at":"2025-07-14T16:34:44.000Z","dependencies_parsed_at":"2025-07-14T21:22:20.416Z","dependency_job_id":"53aa7954-5e8e-4f0c-8f33-c9af37b330a7","html_url":"https://github.com/sudhanshuGt/todos-api","commit_stats":null,"previous_names":["sudhanshugt/todos-api"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/sudhanshuGt/todos-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sudhanshuGt%2Ftodos-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sudhanshuGt%2Ftodos-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sudhanshuGt%2Ftodos-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sudhanshuGt%2Ftodos-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sudhanshuGt","download_url":"https://codeload.github.com/sudhanshuGt/todos-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sudhanshuGt%2Ftodos-api/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265443204,"owners_count":23766365,"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":["freeapi","java","spring-boot","todo","todoapi","todolist"],"created_at":"2025-07-15T15:27:53.129Z","updated_at":"2026-05-19T09:08:12.867Z","avatar_url":"https://github.com/sudhanshuGt.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# 🛠️ Spring Boot Todo API\r\n\r\nThis is a secure and minimal RESTful API for a Todo application built using **Spring Boot** with **JWT-based authentication**. Designed to work seamlessly with frontend clients (Flutter, React, etc.).\r\n\r\n\r\n# Deployed on : https://todos-api-xqqr.onrender.com\r\n\r\n---\r\n\r\n## 🔗 API Endpoints\r\n\r\n### 🔐 Authentication\r\n\r\n**POST `/auth/signup`**  \r\nRegisters a new user.  \r\nSend a JSON object with `name`, `email`, and `password`. On success, returns a JWT token.\r\n\r\n```json\r\nRequest:\r\n{\r\n  \"name\": \"John Doe\",\r\n  \"email\": \"john@example.com\",\r\n  \"password\": \"secret123\"\r\n}\r\n\r\nResponse:\r\n{\r\n  \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6Ikp...\"\r\n}\r\nPOST /auth/login\r\nAuthenticates an existing user. Returns a JWT token if successful.\r\n\r\njson\r\nCopy\r\nEdit\r\nRequest:\r\n{\r\n  \"email\": \"john@example.com\",\r\n  \"password\": \"secret123\"\r\n}\r\n\r\nResponse:\r\n{\r\n  \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6Ikp...\"\r\n}\r\nAll the following /todos endpoints require an Authorization: Bearer \u003cyour_token\u003e header.\r\n\r\n📝 Todos\r\nGET /todos\r\nReturns all todos for the authenticated user.\r\n\r\njson\r\nCopy\r\nEdit\r\nResponse:\r\n[\r\n  {\r\n    \"id\": 1,\r\n    \"todo\": \"Buy groceries\",\r\n    \"completed\": false\r\n  },\r\n  {\r\n    \"id\": 2,\r\n    \"todo\": \"Finish project\",\r\n    \"completed\": true\r\n  }\r\n]\r\nPOST /todos\r\nAdds a new todo item.\r\n\r\njson\r\nCopy\r\nEdit\r\nRequest:\r\n{\r\n  \"todo\": \"Learn Spring Boot\",\r\n  \"completed\": false\r\n}\r\n\r\nResponse:\r\n{\r\n  \"id\": 3,\r\n  \"todo\": \"Learn Spring Boot\",\r\n  \"completed\": false\r\n}\r\nPUT /todos/{id}\r\nUpdates a todo by ID.\r\n\r\njson\r\nCopy\r\nEdit\r\nRequest:\r\n{\r\n  \"todo\": \"Learn Spring Boot Advanced\",\r\n  \"completed\": true\r\n}\r\n\r\nResponse:\r\n{\r\n  \"id\": 3,\r\n  \"todo\": \"Learn Spring Boot Advanced\",\r\n  \"completed\": true\r\n}\r\nDELETE /todos/{id}\r\nDeletes a todo by ID.\r\n\r\nhttp\r\nCopy\r\nEdit\r\nResponse:\r\n204 No Content\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsudhanshugt%2Ftodos-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsudhanshugt%2Ftodos-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsudhanshugt%2Ftodos-api/lists"}