dashboard-app-template === a Next.js 15 dashboard template deployed to Cloudflare Workers via OpenNext. tech stack --- - Next.js 15.5 with Turbopack - React 19 - Tailwind CSS v4 - shadcn/ui (new-york style) - Recharts for data visualization - Cloudflare Workers (via @opennextjs/cloudflare) commands --- - `bun dev` - start dev server (turbopack) - `bun build` - production build - `bun preview` - build and preview on cloudflare runtime - `bun deploy` - build and deploy to cloudflare - `bun lint` - run eslint project structure --- ``` src/ ├── app/ # Next.js app router │ ├── dashboard/ # dashboard routes │ ├── globals.css # tailwind + theme variables │ ├── layout.tsx # root layout │ └── page.tsx # home page ├── components/ │ ├── ui/ # shadcn/ui primitives │ └── *.tsx # app-specific components (sidebar, charts, tables) ├── hooks/ # custom react hooks └── lib/ └── utils.ts # cn() helper for class merging ``` shadcn/ui --- uses shadcn/ui with new-york style. add components via: ```bash bunx shadcn@latest add ``` config in `components.json`. aliases: - `@/components` -> src/components - `@/components/ui` -> src/components/ui - `@/lib` -> src/lib - `@/hooks` -> src/hooks cloudflare deployment --- configured in `wrangler.jsonc`. uses OpenNext for Next.js compatibility. env vars go in `.dev.vars` (local) or cloudflare dashboard (prod). key bindings: - `ASSETS` - static asset serving - `IMAGES` - cloudflare image optimization - `WORKER_SELF_REFERENCE` - self-reference for caching