{"id":15130396,"url":"https://github.com/lucajahnen/todo-app","last_synced_at":"2026-02-09T15:35:35.566Z","repository":{"id":249980372,"uuid":"833054084","full_name":"LucaJahnen/todo-app","owner":"LucaJahnen","description":"You can't call yourself a developer if you've never built a todo app.","archived":false,"fork":false,"pushed_at":"2024-08-01T08:52:21.000Z","size":349,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-11T17:56:18.449Z","etag":null,"topics":["date-fns","odin-project","todo","todoapp","webpack"],"latest_commit_sha":null,"homepage":"https://todo-app354.netlify.app/","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/LucaJahnen.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-07-24T09:05:44.000Z","updated_at":"2024-08-01T08:52:24.000Z","dependencies_parsed_at":"2024-12-19T02:22:20.513Z","dependency_job_id":"db995cfe-8410-4bcb-9c63-eeb1a75d167f","html_url":"https://github.com/LucaJahnen/todo-app","commit_stats":null,"previous_names":["lucajahnen/todo-app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LucaJahnen%2Ftodo-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LucaJahnen%2Ftodo-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LucaJahnen%2Ftodo-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LucaJahnen%2Ftodo-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LucaJahnen","download_url":"https://codeload.github.com/LucaJahnen/todo-app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247393540,"owners_count":20931809,"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":["date-fns","odin-project","todo","todoapp","webpack"],"created_at":"2024-09-26T02:46:41.060Z","updated_at":"2026-02-09T15:35:35.500Z","avatar_url":"https://github.com/LucaJahnen.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Todo List Challenge - TheOdinProject\nThis is my solution to the [Todo List Challenge](https://www.theodinproject.com/lessons/node-path-javascript-todo-list) provided by [TheOdinProject](https://TheOdinProject.com).\n\n## The challenge\nThe Challenge was to create a Todo List that lets users create projects and tasks. Users should be able to view the tasks in each project and delete them. Addiotionally, projects and tasks should be saved to localstorage so when the page is refreshed the data does not change.\n\n## Built with\n- [webpack](https://webpack.js.org/)\n  - [HtmlWebpackPlugin](https://webpack.js.org/plugins/html-webpack-plugin/)\n  - [style-loader](https://webpack.js.org/loaders/style-loader/)\n- [date-fns](https://date-fns.org/)\n\n## My Process\nAs mentioned previously, one task was to save the todos to localstorage. I achieved this by creating a dedicated file that only handles data exchange with localstorage. It looks like this:\n\n```js\nexport const setItem = (key, item) =\u003e {\n    localStorage.setItem(key, JSON.stringify(item))\n}\n\nexport const getItem = key =\u003e {\n    return JSON.parse(localStorage.getItem(key))\n}\n```\n\n## Assets\n- [Ionicons](https://ionic.io/ionicons): An icon library developed by the Ionic Framework team\n- [Poppins from Google Fonts](https://fonts.google.com/specimen/Poppins): A sans-serif typeface designed by Indian Type Foundry (ITF)\n\n## Design Inspiration\nI created an account at [Todoist](https://todoist.com/) and used their service to clarify what I wanted to build. Their design looks pretty cool and I enjoyed using their service. Additionally, I used [Galileo AI](https://www.usegalileo.ai/explore) to design the cards for mobile.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucajahnen%2Ftodo-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucajahnen%2Ftodo-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucajahnen%2Ftodo-app/lists"}