A demo product catalog app with authentication.
Uses the DummyJSON Products API as a data source.
- React 19 + TypeScript — UI and type safety
- Vite — build tool
- Tailwind CSS — styling
- React Router 7 — routing
- TanStack React Query — server state and caching
- React Hook Form — forms and validation
- Radix UI — modal dialogs
- Sonner — toast notifications
- Authentication with token persistence in
localStorage/sessionStorage(remember me option) - Product table: name, brand, SKU, rating, price
- Debounced search
- Column sorting (name, price, rating)
- Pagination
- Add product via modal form with toast notification
- Search, sort, and page state persisted in URL
npm install
npm run dev