{"id":22739960,"url":"https://github.com/chaedie/simple-todo-list","last_synced_at":"2025-03-30T03:41:06.602Z","repository":{"id":61802993,"uuid":"543492707","full_name":"Chaedie/simple-todo-list","owner":"Chaedie","description":"React로 to-do-app을 만든 개인 프로젝트입니다.","archived":false,"fork":false,"pushed_at":"2022-12-12T00:53:40.000Z","size":2412,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T07:12:54.372Z","etag":null,"topics":["react"],"latest_commit_sha":null,"homepage":"https://chaedie.github.io/simple-todo-list/","language":"TypeScript","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/Chaedie.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}},"created_at":"2022-09-30T08:02:40.000Z","updated_at":"2022-12-20T16:57:14.000Z","dependencies_parsed_at":"2023-01-27T09:46:06.772Z","dependency_job_id":null,"html_url":"https://github.com/Chaedie/simple-todo-list","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/Chaedie%2Fsimple-todo-list","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chaedie%2Fsimple-todo-list/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chaedie%2Fsimple-todo-list/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chaedie%2Fsimple-todo-list/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Chaedie","download_url":"https://codeload.github.com/Chaedie/simple-todo-list/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246273524,"owners_count":20750904,"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":["react"],"created_at":"2024-12-10T23:06:56.403Z","updated_at":"2025-03-30T03:41:06.578Z","avatar_url":"https://github.com/Chaedie.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# To do App\n\n[👉 배포 링크 👈](https://chaedie.github.io/simple-todo-list/)\n\n![투두-로그인](https://user-images.githubusercontent.com/88099590/203834354-351b3941-a260-44d9-8187-367b2245bc18.gif)\n\n![투두-CRUD](https://user-images.githubusercontent.com/88099590/203834370-68fd5cb3-c250-490a-ade9-cf66d8414836.gif)\n\n\u003cbr /\u003e\n\n## 기술 스택\n\n- TypeScript\n- Axios, ContextAPI\n- MUI, Emotion\n\n  \u003cbr /\u003e\n\n## 폴더 구조\n\n```\n📦src\n ┣ 📂apis\n ┃ ┣ 📜AuthService.ts\n ┃ ┣ 📜TodoService.ts\n ┃ ┗ 📜index.ts\n ┣ 📂components\n ┃ ┣ 📂Auth\n ┃ ┃ ┗ 📜AuthForm.tsx\n ┃ ┣ 📂Layout\n ┃ ┃ ┗ 📜Layout.tsx\n ┃ ┣ 📂Todo\n ┃ ┃ ┣ 📜DeleteTodo.tsx\n ┃ ┃ ┣ 📜TodoInput.tsx\n ┃ ┃ ┣ 📜TodoItem.tsx\n ┃ ┃ ┣ 📜TodoList.tsx\n ┃ ┃ ┗ 📜UpdateTodo.tsx\n ┃ ┗ 📂common\n ┃ ┃ ┗ 📜Header.tsx\n ┣ 📂contexts\n ┃ ┗ 📜TodoListContext.ts\n ┣ 📂hooks\n ┃ ┣ 📜useAutoLogin.ts\n ┃ ┣ 📜useFetch.ts\n ┃ ┣ 📜useForm.ts\n ┃ ┗ 📜useHandleToken.ts\n ┣ 📂model\n ┃ ┗ 📜Todo.ts\n ┣ 📂pages\n ┃ ┣ 📜AuthPage.tsx\n ┃ ┗ 📜TodoPage.tsx\n ┣ 📜App.tsx\n ┣ 📜Router.tsx\n ┣ 📜index.tsx\n ┗ 📜react-app-env.d.ts\n```\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n# 개발 일지\n\n1. React.js로 구현\n2. TypeScript로 마이그레이션\n3. Fetch =\u003e Axios 적용\n4. ContextAPI 적용\n5. MUI 적용을 위해 프로젝트 재구현 (TypeScript, Axios, ContextAPI)\n\n### 문제 해결 과정\n\n- [Delete 통신 시 발생하는 \"Unexpected end of JSON input\" 에러](https://chaedies-dev-log.tistory.com/entry/Reactjs-delete-fetch-%EC%8B%9C-Undexpected-end-of-JSON-input)\n- [gh-pages 배포 과정](https://chaedies-dev-log.tistory.com/entry/Reactjs-Github-Page%EB%A5%BC-%ED%99%9C%EC%9A%A9%ED%95%9C-%EA%B0%9C%EC%9D%B8-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EB%B0%B0%ED%8F%AC)\n\n### 타입 스크립트 적용 과정\n\n- [Todo App 타입스크립트 마이그레이션 (1)](https://velog.io/@im_chaedong/typesto-do-app-%EC%97%90%EB%9F%AC-%EB%85%B8%ED%8A%B8-1)\n- [Todo App 타입스크립트 마이그레이션 (2)](https://velog.io/@im_chaedong/typesto-do-app-%EC%97%90%EB%9F%AC-%ED%95%B4%EA%B2%B0-%EA%B3%BC%EC%A0%95-2)\n- [Todo App 타입스크립트 마이그레이션 (3)](https://velog.io/@im_chaedong/typesto-do-app-%EC%97%90%EB%9F%AC-%ED%95%B4%EA%B2%B0-%EA%B3%BC%EC%A0%95-3)\n- [Todo App 타입스크립트 마이그레이션 (4)](https://velog.io/@im_chaedong/typesto-do-app-%EC%97%90%EB%9F%AC-%ED%95%B4%EA%B2%B0-%EA%B3%BC%EC%A0%95-4)\n\n### Axios 적용 과정\n\n- [Fetch =\u003e Axios 적용](https://chaedies-dev-log.tistory.com/entry/Reactjs-to-do-app-fetch-Axios-%EB%A7%88%EC%9D%B4%EA%B7%B8%EB%A0%88%EC%9D%B4%EC%85%98-%EA%B3%BC%EC%A0%95)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchaedie%2Fsimple-todo-list","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchaedie%2Fsimple-todo-list","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchaedie%2Fsimple-todo-list/lists"}