Lexiverse
Lexiverse - 영어 학습자를 위한 AI 기반 문맥 독해 엔진
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Aplicație web în română care îl ghidează pe un inițiator de proiect civic prin 10 pași (context, teoria schimbării, organizare), cu ajutorul unui AI. La final rezultă o pagină publică a proiectului, iar proiectul se editează doar cu un link secret de editare (fără cont).
npm install
cp .env.example .env.local
npm run dev
Cu REPO=memory și AI_PROVIDER=fake (valorile din .env.example) aplicația merge fără nicio cheie: datele sunt ținute în memorie (se pierd la repornire), iar AI-ul este unul fals, cu răspunsuri fixe pentru teste. Deschide http://localhost:3000.
Variabile de mediu (vezi .env.example):
| Variabilă | Rol |
|---|---|
REPO | memory (local, teste) sau supabase (producție); în producția Vercel (VERCEL_ENV=production) aplicația refuză memory |
AI_PROVIDER | fake (local, teste) sau deepseek (producție) |
SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY | necesare când REPO=supabase |
DEEPSEEK_API_KEY, DEEPSEEK_MODEL, DEEPSEEK_BASE_URL | necesare când AI_PROVIDER=deepseek |
npm test # teste unitare și de componente (Vitest)
npx playwright install chromium # o singură dată
npx playwright test # test end-to-end (pornește singur serverul pe portul 3100, cu REPO=memory și AI_PROVIDER=fake)
supabase/migrations/0001_init.sql: fie lipește-o în SQL editor, fie rulează npx supabase db push (după npx supabase link). Migrarea creează tabelele, funcțiile hit_rate_limit, save_draft și publish_project și dă drepturi doar rolului service_role.Creează un proiect Vercel legat de repository-ul GitHub.
Adaugă variabilele de mediu de producție:
REPO=supabase
AI_PROVIDER=deepseek
SUPABASE_URL=<Project URL din Supabase>
SUPABASE_SERVICE_ROLE_KEY=<cheia service_role>
DEEPSEEK_API_KEY=<cheia DeepSeek>
DEEPSEEK_MODEL=deepseek-flash
DEEPSEEK_BASE_URL=https://api.deepseek.com
Fă deploy.
Jurnalele de cereri conțin linkuri de editare. Tokenul de editare face parte din URL (
/e/<token>,/api/e/<token>/…), deci apare în jurnalele Vercel (și ale oricărui proxy). Cine vede jurnalele poate edita proiectele: dă acces la jurnale doar celor care au nevoie.
Pune variabilele reale într-un .env.local local (necomis) și rulează:
npx tsx --env-file=.env.local scripts/smoke-repo.ts
npx tsx --env-file=.env.local scripts/smoke-ai.ts
Primul verifică scrierea și citirea în Supabase (inclusiv funcțiile save_draft și publish_project), al doilea un apel real către DeepSeek. Lansează aplicația doar dacă ambele trec.
smoke-repo lasă în bază un proiect numit „Smoke test”. Șterge-l de mână după verificare, de exemplu în SQL editor:
delete from projects where draft -> 'project' ->> 'name' = 'Smoke test';