Back to Projects
In developmentNext.jsReactTypeScriptTailwind CSSPrismaPostgreSQLZustandRadix UIVitest2026

WEB To-Do List

Task management app built with Next.js 16, React 19, and TypeScript. Persistence via Prisma and PostgreSQL; Zustand for state; Radix UI for accessible components; Tailwind CSS 4 with light and dark themes. Features inbox, Today and Next views, completed tasks, search, filters and tags, create/edit modals, and a sidebar. Quality checks with Vitest and Testing Library. Educational project.

WEB To-Do List — vista previa

What I learned

  • End-to-end persistence with Prisma and PostgreSQL in Next.js (migrations, seed, npm scripts)
  • When Zustand beats Redux for UI state and lightly cached client data
  • Accessible modals, dialogs, and controls built on Radix primitives
  • Vitest + Testing Library + jsdom workflows for components and views
  • Light/dark theming with consistent Tailwind 4 tokens across the UI

Technical Details

  • Next.js 16 (App Router), React 19, TypeScript
  • Prisma 7 with @prisma/adapter-pg and the pg driver for PostgreSQL
  • Zustand for client state
  • Radix UI (umbrella `radix-ui` package) plus sonner toasts
  • Tailwind CSS 4, class-variance-authority, tailwind-merge, clsx
  • Vitest 4, @vitest/coverage-v8, Testing Library, jsdom
  • npm scripts: db:push, db:migrate, db:seed