You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
git clone https://github.com/JasonTM17/Language_App.git
cd Language_App
# Cài đặt dependenciescd api && npm install &&cd ../web && npm install &&cd ..
# Cấu hình môi trường
cp api/.env.example api/.env
# Khởi tạo database và seed dữ liệu mẫucd api
npx prisma migrate dev
npm run db:seed
cd ..
Chạy development
# Terminal 1 — API (port 3001)cd api && npm run dev
# Terminal 2 — Web (port 3000)cd web && npm run dev
# Chạy toàn bộ stack
docker compose up --build
# Hoặc pull từ Docker Hub
docker pull nguyenson1710/linguaflow-api:v1.1.0
docker pull nguyenson1710/linguaflow-web:v1.1.0
docker compose up -d
Biến môi trường
Biến
Mô tả
Bắt buộc
DATABASE_URL
Đường dẫn database SQLite
Co
JWT_SECRET
Secret key cho JWT tokens
Co
PORT
Port API server (mặc định: 3001)
Không
FRONTEND_URL
URL frontend cho CORS
Không
N8N_WEBHOOK_URL
Webhook n8n cho AI chatbot
Không
OPENAI_API_KEY
API key OpenAI-compatible
Không
OPENAI_BASE_URL
Base URL cho OpenAI API
Không
AI_MODEL
Model AI sử dụng
Không
GOOGLE_CLIENT_ID
Google OAuth client ID
Không
GOOGLE_CLIENT_SECRET
Google OAuth client secret
Không
AI service tự động chọn provider theo thứ tự ưu tiên: n8n > OpenAI > mock responses (không cần cấu hình gì cũng chạy được).
Tài khoản demo
Vai trò
Email
Mật khẩu
Người dùng
user@linguaflow.app
user123
Admin
admin@linguaflow.app
admin123
API Reference
Base URL: http://localhost:3001/api
Authentication
Method
Endpoint
Mô tả
Auth
POST
/auth/register
Đăng ký tài khoản mới
-
POST
/auth/login
Đăng nhập, trả về JWT
-
GET
/auth/me
Thông tin người dùng hiện tại
Yes
POST
/auth/logout
Đăng xuất, xoá cookie
Yes
Học tập
Method
Endpoint
Mô tả
Auth
GET
/vocabulary
Danh sách từ vựng (phân trang, lọc)
Yes
POST
/vocabulary/:id/review
Ghi nhận ôn tập (SM-2 algorithm)
Yes
GET
/quiz/lesson/:lessonId
Câu hỏi quiz theo bài học
Yes
POST
/quiz/:id/attempt
Nộp đáp án, nhận XP
Yes
GET
/lessons
Danh sách bài học theo ngôn ngữ
Yes
GET
/listening
Bài nghe theo cấp độ
Yes
GET
/speaking
Bài luyện nói
Yes
GET
/grammar-tips
Mẹo ngữ pháp theo chủ đề
Yes
GET
/stories
Truyện ngắn song ngữ
Yes
GET
/sentence-builder
Bài tập ghép câu
Yes
Gamification
Method
Endpoint
Mô tả
Auth
GET
/progress/dashboard
Thống kê tổng quan (XP, level, streak)
Yes
GET
/achievements
Danh sách thành tựu
Yes
GET
/leaderboard
Bảng xếp hạng
Yes
GET
/daily-challenge
Thử thách hôm nay
Yes
GET
/quests
Nhiệm vụ đang hoạt động
Yes
GET
/shop
Cửa hàng vật phẩm
Yes
GET
/skill-tree
Cây kỹ năng
Yes
GET
/hearts
Trạng thái mạng sống
Yes
Xã hội
Method
Endpoint
Mô tả
Auth
GET
/friends
Danh sách bạn bè
Yes
GET
/leaderboard/friends
Xếp hạng bạn bè
Yes
GET
/notifications
Thông báo
Yes
GET
/chat
Lịch sử chat AI
Yes
Xem toàn bộ 38 endpoints
Tham khảo docs/api.md để xem đầy đủ API documentation với request/response examples.
Đây là dự án portfolio cá nhân, thể hiện kỹ năng phát triển phần mềm full-stack.
Đây là: Full-stack web application với production-grade architecture, CI/CD pipeline, Docker containerization, 129 integration tests, security scanning, và deployment tự động.
Không phải: SaaS product với real user traffic, billing system, hoặc enterprise SLA.
LinguaFlow — Nền tảng học ngôn ngữ thông minh dành cho người Việt. Học Tiếng Anh, Nhật, Trung, Hàn với spaced repetition, gamification và lộ trình cá nhân hóa. Built with Next.js 14, Express, Prisma, TypeScript, Docker.