{"id":18745312,"url":"https://github.com/kwishna/expressjs-todo-list","last_synced_at":"2026-04-09T11:03:05.563Z","repository":{"id":232745537,"uuid":"785088185","full_name":"kwishna/expressjs-todo-list","owner":"kwishna","description":"Using Express JS To Create A Todo List APIs","archived":false,"fork":false,"pushed_at":"2024-05-19T12:45:25.000Z","size":1239,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-28T20:21:42.886Z","etag":null,"topics":["api","expressjs","javascript","microservice","nodejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/kwishna.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}},"created_at":"2024-04-11T07:06:59.000Z","updated_at":"2024-07-19T21:04:51.000Z","dependencies_parsed_at":"2024-05-19T13:46:40.242Z","dependency_job_id":"870247fc-350d-490e-96f0-c0eed1e0131b","html_url":"https://github.com/kwishna/expressjs-todo-list","commit_stats":null,"previous_names":["kwishna/expressjs-todo-list"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kwishna%2Fexpressjs-todo-list","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kwishna%2Fexpressjs-todo-list/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kwishna%2Fexpressjs-todo-list/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kwishna%2Fexpressjs-todo-list/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kwishna","download_url":"https://codeload.github.com/kwishna/expressjs-todo-list/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239627235,"owners_count":19670844,"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":["api","expressjs","javascript","microservice","nodejs"],"created_at":"2024-11-07T16:17:35.998Z","updated_at":"2025-12-30T22:07:08.755Z","avatar_url":"https://github.com/kwishna.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Todo API\n\nThis is a simple RESTful API for managing todo lists. It allows users to create, read, update, and delete todo items.\n\n## Getting Started\n\nTo get started with the Todo API, follow these instructions:\n\n### Prerequisites\n\n- Node.js installed on your machine\n- SQLite database management system\n\n### Installation\n\n1. Clone the repository:\n\n\n2. Navigate to the project directory:\n\n\n3. Install dependencies:\n\n\n4. Create a `.env` file in the project root and configure the environment variables:\n\n\n5. Run the server:\n\n\n## Usage\n\n### Authentication\n\nTo use the API, you need to obtain an access token by authenticating with your username and password. Send a POST request to `/login` with your credentials in the request body. The API will respond with an access token, which you can use to authenticate subsequent requests by including it in the `Authorization` header as a Bearer token.\n\n### Endpoints\n\n- `POST /signup`: Register a new user.\n- `POST /login`: Authenticate and obtain an access token.\n- `GET /todos`: Retrieve all todo items for the authenticated user.\n- `POST /todos`: Create a new todo item.\n- `PUT /todos/:id`: Update an existing todo item.\n- `DELETE /todos/:id`: Delete a todo item.\n\n### Example Usage\n\n\u003cpre\u003e\n      1. POST /auth/signup - Sign up for a new account.\n         Example request body:\n         {\n           \"username\": \"exampleUser\",\n           \"password\": \"examplePassword\"\n         }\n  \n         Curl example:\n         curl -X POST -H \"Content-Type: application/json\" -d '{\"username\":\"exampleUser\", \"password\":\"examplePassword\"}' http://localhost:3000/auth/signup\n  \n      2. POST /auth/login - Log in to obtain access token.\n         Example request body:\n         {\n           \"username\": \"exampleUser\",\n           \"password\": \"examplePassword\"\n         }\n  \n         Curl example:\n         curl -X POST -H \"Content-Type: application/json\" -d '{\"username\":\"exampleUser\", \"password\":\"examplePassword\"}' http://localhost:3000/auth/login\n  \n      3. GET /todos/list - Get all TODOs for the authenticated user.\n  \n         Curl example:\n         curl -X GET -H \"Authorization: Bearer \u003caccess_token\u003e\" http://localhost:3000/todos/list\n  \n      4. POST /todos/create - Create a new TODO.\n         Example request body:\n         {\n           \"task\": \"Example task\",\n           \"completed\": false\n         }\n  \n         Curl example:\n         curl -X POST -H \"Content-Type: application/json\" -H \"Authorization: Bearer \u003caccess_token\u003e\" -d '{\"task\":\"Example task\", \"completed\":false}' http://localhost:3000/todos/create\n  \n      5. PUT /todos/:id/update - Update a TODO by ID.\n         Example request body:\n         {\n           \"task\": \"Updated task\",\n           \"completed\": true\n         }\n  \n         Curl example:\n         curl -X PUT -H \"Content-Type: application/json\" -H \"Authorization: Bearer \u003caccess_token\u003e\" -d '{\"task\":\"Updated task\", \"completed\":true}' http://localhost:3000/todos/1/update\n  \n      6. DELETE /todos/:id/delete - Delete a TODO by ID.\n  \n         Curl example:\n         curl -X DELETE -H \"Authorization: Bearer \u003caccess_token\u003e\" http://localhost:3000/todos/1/delete\n\u003c/pre\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkwishna%2Fexpressjs-todo-list","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkwishna%2Fexpressjs-todo-list","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkwishna%2Fexpressjs-todo-list/lists"}