– 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.