Logo Lanfrica

Techontz/CLASSROOM-TANZANIA

Domaine:

education

Type de record:

software
Créateur:
Tec
Hôte:
# Classroom Tanzania — Next.js frontend A learning app for Tanzanian students (Standard 1 through university), covering the NECTA and ZEC syllabi, past papers, mock exams, and progress analytics. The app is the client half of: ``` Next.js frontend → Laravel REST API → MySQL ``` The API lives in `../classroom-tanzania-api`. Everything that used to hit Supabase goes through the service layer in `src/services`, which now calls that API. No database credentials exist in this project. ## Requirements - Node.js 18.18+ (developed on Node 24) - npm - The API running — see `../classroom-tanzania-api/README.md` ## Running it locally ```bash npm install cp .env.example .env.local # points at localhost npm run dev ``` Then open , with the API on . | Variable | Purpose | |---|---| | `NEXT_PUBLIC_API_URL` | Base URL of the Laravel API, including `/api`. | The API's `FRONTEND_URLS` must list this app's origin, or the browser will block every call: CORS runs with credentials enabled and therefore no wildcard. | Command | What it does | |---|---| | `npm run dev` | Development server on port 3000 | | `npm run build` | Production build | | `npm start` | Serve the production build (run `npm run build` first) | | `npm run typecheck` | `tsc --noEmit` | | `npm run lint` | Next's linter | ## Project structure ``` src/ app/ App Router routes (one folder per screen) components/ ui/ Icon, PasswordField, ShareActions, ShareButton, BookmarkButton layout/ AppShell, BottomNav, ScreenHeader, SessionProvider, RequireAuth auth/ Login, register, forgot password, terms, level cascade dashboard/ Home, notifications, trending, bookmarks, performance learning/ Subject detail, topic reader quizzes/ Quiz flow, past-paper flow, papers list, downloads guardian/ Guardian dashboard, student detail, invite-code manager profile/ Account screen and its sub-views video/ …