Modern frontend for managing dance school operations, built with Next.js App Router, Redux Toolkit, and Material UI. It provides authentication flows, course browsing, and integration points for the accompanying backend APIs.
- Authentication: Login and registration forms backed by async thunks and axios interceptors, with protected routes gating private views.
- Course Management: Course listings and detail pages wired for RTK Query data fetching.
- User Management
- Responsive UI: Material UI components and custom styling for a polished experience.
- Next.js (App Router, TypeScript)
- React 18 + Redux Toolkit (
combineSlices, RTK Query-ready store) - Material UI + Emotion styling
- Axios with auto token injection and 401 handling
- Install dependencies
pnpm install # or npm install - Configure environment
Create
.env.localand define the API base URL:The axios client falls back toNEXT_PUBLIC_API_BASE_URL=http://localhost:8080/
http://localhost:8080/if unset. - Run the dev server
Open
pnpm dev # or npm run devhttp://localhost:3000. - Build for production
pnpm build pnpm start
pnpm dev/npm run dev– start Next.js dev serverpnpm build/npm run build– create production buildpnpm start/npm run start– serve the production build