Lexiverse
Lexiverse - AI contextual reading engine for English learners. Your next article is your next review.
Treci în aproximativ 40 de minute de la idee la un plan clar de schimbare.
Translation pending
EducationTypeScript · CSSGitHub @lishusteemOnlineOwner 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 ↗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';