Lexiverse
Lexiverse - AI contextual reading engine for English learners. Your next article is your next review.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Practise speaking a new language with an AI conversation partner. Spoken scenarios and Free Talk personas, live feedback, SM-2 flashcards, a progress dashboard and an admin portal.
Stack: Next.js 14 (App Router, TypeScript) · Supabase (Postgres, Auth, Row Level Security) · Google Gemini (conversation, feedback, speech-to-text) · ElevenLabs (optional voice) · Recharts
| Learner | Admin |
|---|---|
| Email sign-up with target language and CEFR level | Overview KPIs and level distribution |
| Scenario library with category filter and search | Learner management: reset allowance, free/pro, delete |
| Spoken or typed conversation turns | Scenario Studio: create, hide, delete scenarios |
| Live grammar / pronunciation / vocabulary feedback | Session replays with per-turn feedback |
| Lesson summary, corrections, new words | |
| Free Talk with 4 personas | |
| SM-2 spaced-repetition flashcards | |
| Dashboard: streak, 7-day trend, history |
You need Node 18.18+ and free accounts at Supabase and Google AI Studio. ElevenLabs is optional.
git clone <this repo>
cd fluentloop
npm install
cp .env.example .env.local # then fill in your keys
supabase/schema.sql and run it. It creates the tables, RLS policies, the signup trigger and 9 starter scenarios.npm run dev and open http://localhost:3000.update public.profiles set role = 'admin'
where id = (select id from auth.users where email = '[email protected]');
An Admin link appears in the nav.Use Chrome or Edge for microphone input. localhost is allowed over HTTP; deployed sites need HTTPS.
Push to GitHub, import the repo into Vercel, add the same environment variables from .env.example, and deploy.
POST /api/sessions/[id]/turn (src/lib/pipeline.ts):
consume_turn SQL function).If GEMINI_API_KEY is missing or every model fails, the app returns a clearly labelled demo reply, so it never breaks a demo. The UI tells the learner when this happens.
display_name, target_language and level on their own profile (column-level grants), so they cannot grant themselves admin or a higher limit.sm2, the pipeline and the admin guard