เว็บแอประบบคอร์สออนไลน์ที่แยกโครงสร้างเป็น frontend และ backend ชัดเจน พร้อม Docker สำหรับรันทั้งระบบ
mycourse/
frontend/ React + TypeScript + Vite + Tailwind CSS
backend/ Node.js mock API
docker-compose.yml
package.json root scripts สำหรับ dev/build/dockernpm run frontend:dev
npm run backend:devFrontend dev server จะรันด้วย Vite และ backend API จะรันที่ http://localhost:4000
npm run docker:build
npm run docker:upหลังรัน Docker แล้วเปิดเว็บที่ http://localhost:8080
Docker Compose จะรัน 3 services:
frontend: React build เสิร์ฟด้วย Nginxbackend: Node.js APIpostgres: PostgreSQL ฐานข้อมูลจริง พร้อม seed จากbackend/db/init.sql
ถ้าปรับ schema หรือ seed ใน backend/db/init.sql แล้วต้องการสร้างฐานข้อมูลใหม่ทั้งหมด ให้รัน:
docker compose down -v
docker compose up -d --buildAPI หลัก:
GET /api/healthGET /api/coursesGET /api/courses/:slugGET /api/usersGET /api/student/dashboardGET /api/teacher/dashboardGET /api/admin/dashboardPOST /api/courses
Local AI has been removed from the runtime. The backend keeps the AI endpoints ready for an external provider such as Gemini API.
AI endpoints:
POST /api/ai/lessons/:lessonId/transcriptPOST /api/ai/lessons/:lessonId/summarizePOST /api/ai/lessons/:lessonId/askPOST /api/ai/lessons/:lessonId/quiz
Configure AI_PROVIDER, AI_MODEL, and provider API keys before using Summary, Ask AI, and Quiz features.
//login/register/student/teacher/admin/courses/:slug/learn/:slug