University learning platform with course resources, AI-assisted study (chat, summaries, quizzes), and role-based dashboards for students, instructors, and admins.
-
Install dependencies (repository root):
pnpm install
-
Start the database:
docker compose up db -d
-
Configure environment — copy examples and adjust secrets as needed:
cp apps/backend/.env.example apps/backend/.env cp apps/frontend/.env.example apps/frontend/.env
Backend must use port 5433 when using Compose (
DATABASE_URLin.env.example). SetCLIENT_ORIGINto your Vite URL (defaulthttp://localhost:5173). Frontend needsVITE_API_BASE_URL=http://localhost:4000. -
Initialize the database:
pnpm db:push pnpm db:generate pnpm db:seed
-
Run the app:
pnpm dev
Service URL Web app http://localhost:5173 API http://localhost:4000 Postgres localhost:5433 Optional — AI features (RAG, quizzes): run the Python service per
apps/ai/README.mdon port 8000 and setAI_SERVICE_URL/AI_INTERNAL_API_KEYinapps/backend/.env.Optional — file uploads: configure Cloudinary in
apps/backend/.env(see.env.example).
Build and run API, web, database, and AI from the repo root. Provide a root .env with the same variables as apps/backend/.env (use DATABASE_URL pointing at the db service host when everything runs in Compose).
docker compose up --build| Service | URL |
|---|---|
| Web | http://localhost:3000 |
| API | http://localhost:4000 |
| AI | http://localhost:8000 |
| Role | Password | |
|---|---|---|
| Admin | Admin@uni.test |
12345678 |
| Instructor | Ins@uni.test |
12345678 |
Students register at /register with an @aau.edu.et email and are signed in immediately.
pnpm build # compile all workspace packages
pnpm dev # backend + frontend in watch mode
pnpm db:push # apply Prisma schema
pnpm db:seed # seed demo dataThe apps/mobile package is separate from this web stack.