Lexiverse
Lexiverse - AI contextual reading engine for English learners. Your next article is your next review.
Học viện dinh dưỡng & tập luyện — học từng buổi như dọn một mâm cơm Việt, tiến bộ thật, không chạy theo huy hiệu ảo.
Translation pending
EducationHTML · TypeScriptGitHub @dinhtruongfitnesssaleOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Học viện dinh dưỡng & tập luyện. Next.js 16 (App Router) + Supabase + Tailwind v4, deploy trên Vercel. Thiết kế theo brand "mâm cơm Việt": paper + ink, quy tắc 90/5/5.
supabase/migrations/0001_init.sql (bảng, RLS, RPC, trigger)supabase/migrations/0002_media.sql (cột video/PDF cho bài học)supabase/seed.sql (dữ liệu mẫu — tùy chọn).env.local:
NEXT_PUBLIC_SUPABASE_URL=...
NEXT_PUBLIC_SUPABASE_ANON_KEY=...
SUPABASE_SERVICE_ROLE_KEY=...
Sau khi tạo tài khoản (hoặc đặt lại mật khẩu), coach bấm "✉️ Gửi email cho học viên" để gửi thẳng tới email họ: link đăng nhập, email + mật khẩu tạm, kèm hướng dẫn đổi mật khẩu, cách học và cách yêu cầu khóa mới.
Gửi qua Gmail SMTP bằng App Password của coach. Thêm 3 biến vào .env.local
(và cả Environment Variables trên Vercel):
[email protected]
GMAIL_APP_PASSWORD=chuoi-16-ky-tu # tạo ở myaccount.google.com/apppasswords
NEXT_PUBLIC_APP_URL=https://ten-mien.vercel.app # dùng để tạo link trong email
GMAIL_APP_PASSWORD, bỏ khoảng trắng).NEXT_PUBLIC_APP_URL local là http://localhost:3000.coach cho email
[email protected]. Tạo user này trong
Authentication → Users → Add user (đặt mật khẩu, tick Auto Confirm),
rồi đăng nhập — sẽ vào thẳng /admin.
(Muốn đổi email coach: sửa trong hàm handle_new_user() ở migration.)npm install
npm run dev # http://localhost:3000
SUPABASE_SERVICE_ROLE_KEY — chỉ dùng phía server).src/lib/brand.ts — tên app, màu, cấp độ. Đổi tên app ở đây.src/lib/supabase/ — client (browser/server/admin) + proxy refresh phiên.src/lib/data.ts — truy vấn dữ liệu phía server.src/app/hoc/ — khu vực học viên.src/app/admin/ — khu vực coach.supabase/ — migration & seed SQL.get_quiz, chấm qua
submit_quiz — đáp án không bao giờ gửi xuống client trước khi nộp.