{"repo":"goatplatform/todo","free":true,"listed":false,"github":"https://github.com/goatplatform/todo","clone":"git clone https://github.com/goatplatform/todo.git","description":"Self-Hosted Minimalistic Todo List","language":"TypeScript","stars":12,"topics":[],"license":"MIT","category":"productivity","readme_excerpt":"Self-Hosted Minimalistic Todo List ✨ Try it yourself at todo.goatdb.dev! ✅ A simple, minimalistic, self-hosted todo list application powered by GoatDB. This application demonstrates how to build a Single Page Application (SPA) with user authentication and data persistence using GoatDB's server framework. Features - User authentication and registration - Create, update, and delete todo items - Easy self-hosting on your own infrastructure - Clients continue functioning even when the server is offline - Realtime collaboration engine synchronizes changes across clients Roadmap - [x] Update to Material UI - [ ] Easier way to configure server - [ ] Deadline reminder notifications - [ ] Multiple todo lists per user - [ ] Share todo lists with others Screenshots Quick Start 1. Clone this repository 2. Configure email settings in server/server.ts (supports SMTP or AWS SES via NodeMailer) 3. Run deno task debug to start the development server 4. Visit http://localhost:8001 to access your todo list Email Configuration Edit server/server.ts to configure email settings. Example SMTP configuration (see https://nodemailer.com/smtp/): Example Amazon SES configuration (see https://nodemailer.com/ses/): Deployment This demo is currently deployed on a single t4g.nano EC2 instance that is shared with other projects. Thanks to GoatDB's distributed architecture, clients act as active replicas of the data. If the server fails, clients retain full functionality and can restore server state when it c","default_branch":null,"files":null,"tree":[],"storefront":"/r/goatplatform","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/goatplatform/todo/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}