Careeroza
Folder Structure
The Repo
shopease-web/
├── app/
│ ├── layout.tsx fonts, Providers, <html>
│ ├── (shop)/
│ │ ├── layout.tsx Navbar (CartBadge), Footer
│ │ ├── page.tsx
│ │ ├── category/[slug]/page.tsx
│ │ ├── products/[slug]/
│ │ │ ├── page.tsx loading.tsx not-found.tsx opengraph-image.tsx
│ │ ├── search/page.tsx
│ │ ├── cart/{page.tsx, actions.ts}
│ │ ├── checkout/{page.tsx, actions.ts, payment/page.tsx}
│ │ └── account/{layout.tsx, orders/page.tsx}
│ ├── (auth)/{layout.tsx, login/page.tsx, register/page.tsx}
│ ├── admin/{layout.tsx, page.tsx, products/..., orders/...}
│ ├── api/{auth/[...nextauth]/route.ts, webhooks/razorpay/route.ts, health/route.ts}
│ ├── sitemap.ts robots.ts not-found.tsx global-error.tsx
├── components/ ProductCard, AddToCartButton, SearchBox, Filters, Modal
├── lib/
│ ├── prisma.ts env.ts format.ts slug.ts filters.ts
│ ├── dal/ products.ts orders.ts checkout.ts (server-only)
│ └── authz.ts
├── auth.ts Auth.js config
├── middleware.ts (proxy.ts on Next.js 16)
├── prisma/schema.prisma
├── e2e/ Playwright tests
├── next.config.ts Dockerfile .github/workflows/ci.yml