{"id":19374003,"url":"https://github.com/akashrchandran/todo-api","last_synced_at":"2026-05-13T08:37:14.377Z","repository":{"id":174113347,"uuid":"651693232","full_name":"akashrchandran/Todo-API","owner":"akashrchandran","description":"My Awesome ToDo API is a Django REST Framework API that allows users to authenticate, register, and manage their tasks.","archived":false,"fork":false,"pushed_at":"2023-06-10T06:57:18.000Z","size":16,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-24T15:24:02.728Z","etag":null,"topics":["api","django","django-rest-framework","jwt-authentication","todoapi","todolist"],"latest_commit_sha":null,"homepage":"https://todo-api-dmb9.onrender.com/","language":"Python","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/akashrchandran.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}},"created_at":"2023-06-09T20:45:07.000Z","updated_at":"2024-01-25T14:17:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"ec2e87d8-c0d9-438a-8399-b9b0fff53582","html_url":"https://github.com/akashrchandran/Todo-API","commit_stats":null,"previous_names":["akashrchandran/todo-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/akashrchandran/Todo-API","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akashrchandran%2FTodo-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akashrchandran%2FTodo-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akashrchandran%2FTodo-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akashrchandran%2FTodo-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/akashrchandran","download_url":"https://codeload.github.com/akashrchandran/Todo-API/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akashrchandran%2FTodo-API/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32975180,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T06:31:55.726Z","status":"ssl_error","status_checked_at":"2026-05-13T06:31:51.336Z","response_time":115,"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":["api","django","django-rest-framework","jwt-authentication","todoapi","todolist"],"created_at":"2024-11-10T08:33:48.517Z","updated_at":"2026-05-13T08:37:14.356Z","avatar_url":"https://github.com/akashrchandran.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"My Awesome ToDo API\n--------------------\n\nIntroduction\n------------\nMy Awesome ToDo API is a Django REST Framework API that allows users to authenticate, register, and manage their tasks.\n\nInstallation\n------------\nTo install My Awesome ToDo API, follow these steps:\n\n1. Clone the repository\n2. Install the dependencies\n3. Set up the database\n4. Run the server\n\nUsage\n-----\nTo use My Awesome ToDo API, follow these steps:\n\n1. Open your web browser\n2. Go to the URL of the API\n3. Enter your credentials\n4. Start using the API\n\nAPI Endpoints\n-------------\nHere are the available endpoints in My Awesome ToDo API:\n\n| Endpoint | Description |\n| -------- | ----------- |\n| `POST /api/login/` | Authenticate and obtain a JWT token for accessing protected resources. |\n| `POST /api/register/` | Register a new account. |\n| `POST /api/add/` | Add a new task. |\n| `GET /api/get/` | Retrieve all tasks associated with the authenticated user. |\n| `PUT /api/update/` | Update a task. |\n| `POST /api/complete/` | Toggle a task's completed status. |\n| `DELETE /api/delete/` | Delete a task. |\n\n---\n\n### `POST /api/login/`\n\nAPI Description:\nThis API allows users to authenticate and obtain a JWT token for accessing protected resources.\n\nParameters:\n- `username` (string): The username of the user.\n- `password` (string): The password of the user.\n\nResponse:\n- HTTP 200 OK: The request was successful. Returns a JWT token and username.\n- HTTP 401 Unauthorized: The provided credentials are invalid.\n- HTTP 400 Bad Request: The request data is invalid.\n\n---\n\n### `POST /api/register/`\n\nAPI Description:\nThis API allows users to register a new account.\n\nParameters:\n- `username` (string): The desired username for the new account.\n- `first_name` (string, optional): The first name of the user.\n- `last_name` (string, optional): The last name of the user.\n- `password` (string): The password for the new account.\n\nResponse:\n- HTTP 201 Created: The user account was created successfully. Returns a success message.\n- HTTP 400 Bad Request: The request data is invalid or the username is already taken. Returns detailed error information.\n\n---\n\n### `POST /api/add/`\n\nAPI Description:\nThis API allows authenticated users to add a new task.\n\nRequired Permissions:\n- The user must be authenticated.\n\nRequest Headers:\n- `Authorization` (string): The JWT token obtained from the login API must be provided as the value of the Authorization header in the format `Bearer \u003ctoken\u003e`.\n\nParameters:\n- `task` (string): The task description.\n- `date` (string): The expected date of the task completion in format of YYYY-MM-DD.\n\nResponse:\n- HTTP 201 Created: The task was created successfully. Returns a success message and the task ID.\n- HTTP 400 Bad Request: The request data is invalid. Returns detailed error information.\n\n---\n\n### `GET /api/get/`\n\nAPI Description:\nThis API allows authenticated users to retrieve all their tasks.\n\nRequired Permissions:\n- The user must be authenticated.\n\nRequest Headers:\n- `Authorization` (string): The JWT token obtained from the login API must be provided as the value of the Authorization header in the format `Bearer \u003ctoken\u003e`.\n\nResponse:\n- HTTP 200 OK: The request was successful. Returns all tasks associated with the authenticated user.\n\n---\n\n### `PUT /api/update/`\n\nAPI Description:\nThis API allows authenticated users to update a task.\n\nRequired Permissions:\n- The user must be authenticated.\n\nParameters:\n- `taskId` (integer): The ID of the task to be updated.\n- `updatedTask` (string): The updated task description.\n- `updatedDate` (string): The updated date of the task.\n\nResponse:\n- HTTP 200 OK: The task was updated successfully. Returns a success message.\n- HTTP 400 Bad Request: The request data is invalid or the specified task does not exist. Returns detailed error information.\n\n---\n\n### `POST /api/complete/`\n\nAPI Description:\nThis API allows authenticated users to toggle a task's completed status.\n\nRequired Permissions:\n- The user must be authenticated.\n\nRequest Headers:\n- `Authorization` (string): The JWT token obtained from the login API must be provided as the value of the Authorization header in the format `Bearer \u003ctoken\u003e`.\n\nParameters:\n- `taskId` (integer): The ID of the task to toggle its completed status.\n\nResponse:\n- HTTP 200 OK: The task's completed status was toggled successfully. Returns a success message.\n- HTTP 400 Bad Request: The request data is invalid or the specified task does not exist. Returns detailed error information.\n\n---\n\n### `DELETE /api/delete/`\n\nAPI Description:\nThis API allows authenticated users to delete a task.\n\nRequired Permissions:\n- The user must be authenticated.\n\nRequest Headers:\n- `Authorization` (string): The JWT token obtained from the login API must be provided as the value of the Authorization header in the format `Bearer \u003ctoken\u003e`.\n\nParameters:\n- `taskId` (integer): The ID of the task to be deleted.\n\nResponse:\n- HTTP 200 OK: The task was deleted successfully. Returns a success message.\n- HTTP 400 Bad Request: The request data is invalid or the specified task does not exist. Returns detailed error information.\n\n---\n\nContributing\n------------\nTo contribute to My Awesome ToDo API, follow these steps:\n\n1. Fork the repository\n2. Create a new branch\n3. Make your changes\n4. Submit a pull request\n\nLicense\n-------\nMy Awesome ToDo API is released under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakashrchandran%2Ftodo-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakashrchandran%2Ftodo-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakashrchandran%2Ftodo-api/lists"}