Project Structure

src/app — App Router pages and API routes (e.g., courses, admin, checkout, auth).

src/components — Reusable UI components (courses, index sections, common widgets).

src/lib — Helpers for Prisma, auth, and utilities.

prisma — Prisma schema and migrations.

public — Static assets (images, icons, JSON menus).

next.config.ts — Next.js configuration (images, Sass options).

middleware.ts — Role protection for admin routes.

Key routes (examples):

Public pages: `/`, `/courses`, `/course/[slug]`, `/blog`, `/contact-us`, etc.

Auth: `/login`, `/register`, `/forgot-password` (if enabled).

Dashboard: `/dashboard`, `/dashboard/enrollments`.

Admin: `/admin`, `/admin/categories`, `/admin/subcategories`, `/admin/courses`.- Instructor: `/instructor/courses`, `/instructor/courses/new`, `/instructor/courses/[id]/edit`, assets/lessons subpages.