This is a Next.js project using Shadcn UI.
Clone the repository
git clone https://github.com/mthomas-io/assignment-springtree.gitInstall dependencies. This uses Tailwind 4/ React 19, opt for --legacy-peer-deps if asked as we use the latest shadcn version.
npm installSet your cat API key in a root .env file
CAT_API_KEY=your-cat-api-keythen run the development server:
npm run devOpen http://localhost:3000 with your browser to see the result.
- Scaffold project with Next.js/ shadcn
- Add page to browse breeds
- Add simple form to filter breed by origin
- Keep filter state in URL
- If filtering, make search field required to demo validation using useActionState hook
- Add details page for breed, paginate cat images of that breed
- Add voting on details page
- Fetch number of existing votes
- List breed details