A small, file-backed todo app with a Node.js server and a vanilla JS UI.
- Node.js 18+ (Node 20+ recommended)
sqlite3CLI available in your PATH
npm installnpm run startThe server runs on http://localhost:3000 by default. Open that URL in your browser (do not open public/index.html directly).
npm run start will run migrations automatically before starting the server.
npm run start: run migrations, then start the servernpm run migrate: run database migrations onlynpm run typecheck: TypeScript type checking
You can customize these environment variables:
PORT: server port (default3000)HOST: bind host (defaultlocalhost)DB_PATH: SQLite file path (defaultdata/todo.sqlite3)
- If you previously started the server without running migrations, the API would return "Unable to load tasks" because the
taskstable did not exist. Thestartscript now runs migrations automatically.