A clean, single-page task manager built with Angular 22 (standalone components,
new @if/@for control-flow syntax) — add, edit, filter, and search tasks, track
progress with a signature animated ring, and switch between light and dark themes.
All data persists locally, so your tasks are still there when you come back.
- Full task CRUD — add tasks with a title, due date, and priority (low / medium / high); edit in place; delete instantly.
- Smart filtering & search — filter by All / Active / Completed, or search tasks live by title.
- Overdue detection — tasks past their due date are flagged automatically.
- Progress ring — an animated SVG ring shows overall completion percentage at a glance, alongside quick stats (total / active / completed).
- Dark mode — toggle between light and dark themes; the choice is remembered between visits.
- Persistent storage — tasks and theme preference are saved to
localStorage, so nothing is lost on refresh.
Angular 22 (standalone components, new control-flow syntax) · TypeScript ·
Bootstrap 5 (layout/utilities) · Bootstrap Icons · localStorage for persistence.
src/
app/
components/
task-list/ main task list component (logic, template, styles)
models/
task.ts Task interface (id, title, completed, priority, dueDate)
Install dependencies:
npm install
Start the dev server:
npm start
Then open http://localhost:4200.
npm run build
Build artifacts are output to dist/.