Frontend application for Skill Bridge, an online tutoring platform.
Built with Next.js (App Router), TypeScript, Tailwind CSS, Framer Motion, and Better Auth client integration.
- Next.js 16
- React 19
- TypeScript
- Tailwind CSS 4
- better-auth (client)
- t3-env + zod for environment validation
- Node.js 20+
- npm / pnpm / yarn
- Running Skill Bridge backend API
Create a .env file in this directory with the following values:
FRONTEND_URL=http://localhost:3000
BACKEND_URL=http://localhost:5000
AUTH_URL=http://localhost:5000
NEXT_PUBLIC_FRONTEND_URL=http://localhost:3000
NEXT_PUBLIC_BACKEND_URL=http://localhost:5000Environment schema is validated in src/env.ts.
npm installnpm run devOpen http://localhost:3000.
npm run dev- Start development servernpm run build- Create production buildnpm run start- Run production servernpm run lint- Run ESLint
The client proxies auth calls to backend via Next.js rewrite:
/api/auth/:path*->${NEXT_PUBLIC_BACKEND_URL}/api/auth/:path*
Configured in next.config.ts.
src/app
├── (rootLayout) # Public pages (home, tutors, about, contact)
├── (authLayout) # Login / Signup pages
└── (dashboardLayout) # Student / Tutor / Admin dashboard areas
- Home page with hero search and featured tutors
- Tutors listing page with filtering, sorting, and pagination
- Tutor details page
- Role-based dashboard layouts (student, tutor, admin)
- Better Auth-based login/signup flow (including social login)
- Keep backend and frontend URLs consistent between local and production.
- Do not commit real secrets to
.env.