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.

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