{"id":32450974,"url":"https://github.com/mscbuild/todo-listapp","last_synced_at":"2026-05-19T05:38:57.648Z","repository":{"id":319353360,"uuid":"1078449202","full_name":"mscbuild/todo-listapp","owner":"mscbuild","description":"A React.js Todo app with a wealth of features, including sharing tasks via link, P2P syncing via WebRTC, theme customization, and offline use as a PWA.","archived":false,"fork":false,"pushed_at":"2025-10-18T13:15:23.000Z","size":175489,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-18T21:31:58.203Z","etag":null,"topics":["ai-agents","assistant","design","design-system","developer","manager","modern","responsive","task-manager","todo-app","todolist","todolist-application","website","windows"],"latest_commit_sha":null,"homepage":"https://todo-listapp-indol.vercel.app","language":"TypeScript","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/mscbuild.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":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-17T18:48:21.000Z","updated_at":"2025-10-18T13:15:26.000Z","dependencies_parsed_at":"2025-10-18T22:00:20.377Z","dependency_job_id":"8b2fd217-e76c-46eb-a599-d1cf2a6b4774","html_url":"https://github.com/mscbuild/todo-listapp","commit_stats":null,"previous_names":["mscbuild/todo-listapp"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/mscbuild/todo-listapp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mscbuild%2Ftodo-listapp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mscbuild%2Ftodo-listapp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mscbuild%2Ftodo-listapp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mscbuild%2Ftodo-listapp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mscbuild","download_url":"https://codeload.github.com/mscbuild/todo-listapp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mscbuild%2Ftodo-listapp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281069100,"owners_count":26438554,"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","status":"online","status_checked_at":"2025-10-26T02:00:06.575Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["ai-agents","assistant","design","design-system","developer","manager","modern","responsive","task-manager","todo-app","todolist","todolist-application","website","windows"],"created_at":"2025-10-26T06:48:34.206Z","updated_at":"2025-10-26T06:48:36.530Z","avatar_url":"https://github.com/mscbuild.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":" # Todo list App\n\n ![](https://komarev.com/ghpvc/?username=mscbuild) \n ![](https://img.shields.io/github/license/mscbuild/todo-listapp) \n ![](https://img.shields.io/badge/PRs-Welcome-green)\n ![](https://img.shields.io/github/languages/code-size/mscbuild/todo-listapp)\n![](https://img.shields.io/badge/code%20style-react-green)\n![](https://img.shields.io/github/stars/mscbuild)\n![](https://img.shields.io/badge/Topic-Github-lighred)\n![](https://img.shields.io/website?url=https%3A%2F%2Fgithub.com%2Fmscbuild)\n\n\n**A fast and modern Todo app built with React, featuring task sharing via link, P2P Task Sync with WebRTC, theme customization, offline usage as a PWA, and caching for smooth performance.**\n\n\u003cimg src=\"https://raw.githubusercontent.com/maciekt07/TodoApp/main/screenshots/baner.png\" /\u003e\n\n## [Todo app Link](https://todo-listapp-indol.vercel.app/ )\n\n \n\n\u003c!-- \u003cp align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/maciekt07/TodoApp/main/screenshots/iPhone%20Mockup%20black.png\" width=\"400px\" /\u003e\n\u003c/p\u003e --\u003e\n\n## 💻 Tech Stack\n\n\u003cul style=\"display: flex; flex-direction: column; gap:10px;\"\u003e\n  \u003cli style=\"vertical-align: middle;\"\u003e\n    \u003cimg src=\"https://go-skill-icons.vercel.app/api/icons?i=react\" alt=\"react\" width=\"24\" style=\"vertical-align: middle; margin-right: 4px;\" /\u003e React\n  \u003c/li\u003e\n    \u003cli style=\"vertical-align: middle;\"\u003e\n    \u003cimg src=\"https://go-skill-icons.vercel.app/api/icons?i=typescript\" alt=\"typescript\" width=\"20\" style=\"vertical-align: middle;margin-right: 4px;\" /\u003e Typescript\n  \u003c/li\u003e\n    \u003cli style=\"vertical-align: middle;\"\u003e\n    \u003cimg src=\"https://go-skill-icons.vercel.app/api/icons?i=vite\" alt=\"vite\" width=\"24\" style=\"vertical-align: middle;margin-right: 4px;\" /\u003e Vite\n  \u003c/li\u003e\n  \u003cli style=\"vertical-align: middle;\"\u003e\n    \u003cimg src=\"https://go-skill-icons.vercel.app/api/icons?i=vitest\" alt=\"vitest\" width=\"24\" style=\"vertical-align: middle;margin-right: 4px;\" /\u003e Vitest\n  \u003c/li\u003e\n  \u003cli style=\"vertical-align: middle;\"\u003e\n    \u003cimg src=\"https://go-skill-icons.vercel.app/api/icons?i=emotion\" alt=\"emotion\" width=\"24\" style=\"vertical-align: middle;margin-right: 4px;\" /\u003e Emotion\n  \u003c/li\u003e\n    \u003cli style=\"vertical-align: middle;\"\u003e\n    \u003cimg src=\"https://go-skill-icons.vercel.app/api/icons?i=mui\" alt=\"mui\" width=\"24\" style=\"vertical-align: middle;margin-right: 4px;\" /\u003e Material UI (MUI)\n  \u003c/li\u003e\n\u003c/ul\u003e\n\n## ⚡ Features\n\n### 🔗 Share Tasks by Link or QR Code\n\nEasily share your tasks with others using a link or QR code.\n\n**[Example Link](https://react-cool-todo-app.netlify.app/share?task=N4IgJg9gdgpiBcAzAhgGwM4wDQgA4EspYwEAXAJwFdsQpkBbOeEAdRgCN19SYACAERgA3GKgi5GUUiBxgY6AMbl8uUvmgIQAYXIxkPXsl6pkUMIQDmvXMgt8A7twAWvAEp6FpAHQArdL0QIcl4FVHwYKS9eJ1JSXHR4AHpE+1SvAE8ISlJKdhgvBQh6FP0FJwB+IQBedgBZAGsoRABpAA0ASQAxAEEADgAyUiqAJgBmdH7kdgB9MtNYVCrEXRgtCDktBlwvIIsZEBh6CB98TQBGRABOMDOAWgvRxAVb4YAGV7B7xAAWdnZ9wpiciaADE7AAbMNvohEPswPomCA3sMAKy3V7fF6vAAqrzO8DOl3gr3BXleAHZRgAtOF6MBhWCaZFojEvUa4-FnXrE15k940nAKBEWILpBAAbVA+BIzFew0uwwU7GQaMQ4Jgw1u3zOCkx7BRyHJtwUKMuyFeyGQMAUiBgo32dEYmhYQXq+0Ox1OzAeGoBECBoKhvRgMJAAF8sFKZWdwb1yWdUdryd9waMyaMcI7EWtzFA9jgPSdzogDaqYK9YYL-UFQeCbsNQ2GALo4EzoUgAZWQIiZcpZmLeHPgb3go15oxR1PDQA\u0026userName=Maciej)**\n\n\u003cimg src=\"https://raw.githubusercontent.com/maciekt07/TodoApp/main/screenshots/ShareDialog.png\" width=\"300px\" alt=\"Shared Task\" /\u003e\n\n### 🤖 AI Emoji Suggestions\n\nThis feature uses Chrome’s experimental `window.LanguageModel` API powered by **Gemini Nano** — an on-device LLM.\n\n⚠️ Requires **Chrome Canary 128+** with the **Gemini Nano model installed** - [Setup guide](https://docs.google.com/document/d/1VG8HIyz361zGduWgNG7R_R8Xkv0OOJ8b5C9QKeCjU0c/view?pli=1\u0026tab=t.0#heading=h.witohboigk0o)\n\nCode: [src/components/EmojiPicker.tsx](https://github.com/maciekt07/TodoApp/blob/main/src/components/EmojiPicker.tsx#L116)\n\n\u003cimg src=\"https://raw.githubusercontent.com/maciekt07/TodoApp/main/screenshots/emoji-ai.gif\" alt=\"AI Emoji\" width=\"360px\" style=\"border-radius:12px\" /\u003e\n\n### 🔄 P2P Task Sync with WebRTC\n\nSecurely sync all the data between devices using peer-to-peer WebRTC connections. Devices pair via QR code, and your data is transferred directly between them — only minimal server involvement for connection setup, with no data stored or processed in the cloud.\n\n- Tasks and categories are auto-merged based on recent edits or deletions\n- For settings and other data, you choose which device to sync from\n\n\u003cvideo src=\"https://github-production-user-asset-6210df.s3.amazonaws.com/85953204/459582059-1f2fd620-a64e-42e2-be4f-f17e07fba9a2.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20250626%2Fus-east-1%2Fs3%2Faws4_request\u0026X-Amz-Date=20250626T185723Z\u0026X-Amz-Expires=300\u0026X-Amz-Signature=514e1513d883fab2b5b895d9075d0e0a522497e600e2577d1d11a341ab95aa6f\u0026X-Amz-SignedHeaders=host\" controls\u003e\u003c/video\u003e\n\n### 🎨 Color Themes \u0026 Dark Mode\n\nChoose from various color themes and toggle between light and dark modes to suit your preferences.\n\n\u003cimg src=\"https://raw.githubusercontent.com/maciekt07/TodoApp/main/screenshots/settings.png\" width=\"500px\" /\u003e\n\n### 🗣️ Task Reading Aloud\n\nOption to have tasks read aloud using the native `SpeechSynthesis` API, with a selection of voices to choose from.\n\n\u003cimg src=\"https://raw.githubusercontent.com/maciekt07/TodoApp/main/screenshots/ReadAloud.png\" width=\"260px\" alt=\"Task Reading Aloud\" /\u003e\n\n### 📥 Import/Export Tasks\n\nUsers can import and export tasks to/from JSON files. This feature allows users to back up their tasks or transfer them to other devices easily. [Example Import File](https://github.com/maciekt07/TodoApp/blob/main/example-import.json)\n\n### 📴 Progressive Web App (PWA)\n\nThis app is a Progressive Web App (PWA), which means it can be installed on your device, **used even when you're offline** and behave like a native app with shortcuts and app badges.\n\n\u003cimg src=\"https://raw.githubusercontent.com/maciekt07/TodoApp/main/screenshots/pwaTaskBar.png\" alt=\"taskbar\" width=\"260px\" /\u003e\n\n### 🔄 Update Prompt\n\nThe app features a custom update prompt that notifies users when a new version is available, allowing for easy refresh to access the latest improvements.\n\n\u003cimg src=\"https://raw.githubusercontent.com/maciekt07/TodoApp/main/screenshots/UpdatePrompt.png\" alt=\"update prompt\" width=\"260px\" /\u003e\n\n### 📱 Custom Splash Screens\n\nThe app automatically generates custom splash screens from a single HTML template for various iOS and iPadOS devices in both light and dark modes. These splash screens provide a smooth, native-like launch experience when the app is opened as a PWA.\n\n\u003cimg src=\"https://raw.githubusercontent.com/maciekt07/TodoApp/main/screenshots/SplashScreen.png\" alt=\"Splash Screen Example\" width=\"450px\" /\u003e\n\nTo generate splash screens:\n\n```bash\nnpm run generate-splash\n```\n\nCode: [scripts/splash-screens](https://github.com/maciekt07/TodoApp/blob/main/scripts/splash-screens)\n\n## 👨‍💻 Installation\n\nTo install and run the project locally, follow these steps:\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/mscbuild/todo-listapp.git\n```\n\n2. Navigate to the project directory:\n\n```bash\ncd todo-listapp\n```\n\n3. Install the dependencies:\n\n```bash\nnpm install\n```\n\n4. Start the development server:\n\n```bash\nnpm run dev\n```\n\nThe app will now be running at [http://localhost:5173/](http://localhost:5173/).\n\n\u003e [!TIP]\n\u003e For mobile device testing, use `npm run dev:host` to preview the app on your local network with HTTPS (required for camera features) and a QR code in the terminal for quick access. To enable PWA features in development, see `vite.config.ts`.\n\n## 📷 Screenshots\n\n\u003cimg src=\"https://raw.githubusercontent.com/maciekt07/TodoApp/main/screenshots/ss1.png\" width=\"300px\" /\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/maciekt07/TodoApp/main/screenshots/ss2.png\" width=\"300px\" /\u003e\n\n\u003cimg src=\"https://raw.githubusercontent.com/maciekt07/TodoApp/main/screenshots/ss3.png\" width=\"300px\" /\u003e\n\n\u003c!-- \u003cimg src=\"https://raw.githubusercontent.com/maciekt07/TodoApp/main/screenshots/ss4.png\" width=\"300px\" /\u003e\n\n\u003cimg src=\"https://raw.githubusercontent.com/maciekt07/TodoApp/main/screenshots/ss5.png\" width=\"300px\" /\u003e\n\n\u003cimg src=\"https://raw.githubusercontent.com/maciekt07/TodoApp/main/screenshots/ss6.png\" width=\"300px\" /\u003e --\u003e\n\n\u003cimg src=\"https://raw.githubusercontent.com/maciekt07/TodoApp/main/screenshots/sspc1.png\" width=\"650px\" /\u003e\n\n## 🚀 Performance\n\n\u003cimg src=\"https://raw.githubusercontent.com/maciekt07/TodoApp/main/screenshots/performance.png\" width=\"600px\" /\u003e\n\n## License\n\nLicensed under [MIT](https://github.com/mscbuild/todo-listapp/blob/main/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmscbuild%2Ftodo-listapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmscbuild%2Ftodo-listapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmscbuild%2Ftodo-listapp/lists"}