This is a Next.js project bootstrapped with create-next-app.
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devOpen http://localhost:3000 with your browser to see the result.
Copy .env.example to .env.local and set NEXT_PUBLIC_API_URL to the backend API URL before starting the app.
React Query owns server state: API responses, loading and error status, caching, refetching, and invalidation. Query keys should come from src/lib/queryKeys.ts so cache updates remain consistent.
Zustand owns client UI state that must be shared between components, such as the authenticated session, selected wallet or campaign, panels, and filters. API response collections and other server-owned data should not be copied into Zustand; keeping them in both systems creates competing sources of truth and stale UI bugs.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.