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 ↗Platformă de matematică cu exerciții PDF, exerciții interactive și manuale online pentru clasele 5–8, Evaluarea Națională și Bacalaureat.
examenmate/
├── index.html # Entry point HTML
├── package.json # Dependințe npm
├── vite.config.js # Config Vite
├── netlify.toml # Config Netlify (build + redirects)
├── .env.example # Template variabile de mediu
├── public/
│ └── favicon.svg
├── src/
│ ├── main.jsx # Entry point React
│ ├── App.jsx # Router principal
│ ├── styles/global.css # Stiluri globale
│ ├── lib/supabase.js # Client Supabase
│ ├── context/AuthContext.jsx # Autentificare + stare user
│ ├── components/
│ │ ├── Navbar.jsx
│ │ ├── Footer.jsx
│ │ └── ProtectedContent.jsx # Componente pentru gating gratuit/premium
│ └── pages/
│ ├── Home.jsx # Pagina principală
│ ├── ClassPage.jsx # Pagini clase 5-8 (dinamice)
│ ├── EvaluareNationala.jsx
│ ├── Bacalaureat.jsx
│ ├── Manuale.jsx
│ ├── Login.jsx
│ ├── Register.jsx
│ ├── Pricing.jsx # Pagina abonament + Stripe checkout
│ └── Profile.jsx # Dashboard utilizator
├── netlify/functions/
│ ├── create-checkout.js # Creare sesiune Stripe Checkout
│ ├── create-portal.js # Portal gestionare abonament Stripe
│ └── stripe-webhook.js # Webhook Stripe → actualizare Supabase
└── supabase/
└── schema.sql # Schema bază de date (SQL)
supabase/schema.sql → RunProject URL → va fi VITE_SUPABASE_URLanon public key → va fi VITE_SUPABASE_ANON_KEYservice_role key → va fi SUPABASE_SERVICE_ROLE_KEY (doar pe server!)VITE_STRIPE_PUBLISHABLE_KEYSTRIPE_SECRET_KEYhttps://SITE-UL-TAU.netlify.app/api/stripe-webhookcheckout.session.completedcustomer.subscription.updatedcustomer.subscription.deletedSTRIPE_WEBHOOK_SECRETexamenmateImport project din GitHub → selectează examenmate
Build settings (ar trebui detectate automat din netlify.toml):
npm run builddistSite settings → Environment variables → adaugă:
| Variabilă | Valoare |
|---|---|
VITE_SUPABASE_URL | URL-ul proiectului Supabase |
VITE_SUPABASE_ANON_KEY | Cheia anon publică Supabase |
SUPABASE_SERVICE_ROLE_KEY | Cheia service role Supabase |
VITE_STRIPE_PUBLISHABLE_KEY | Cheia publishable Stripe |
STRIPE_SECRET_KEY | Cheia secret Stripe |
STRIPE_WEBHOOK_SECRET | Secretul webhook Stripe |
Deploy → site-ul va fi live!
| Tip conținut | Gratuit | Premium (50 lei/lună) |
|---|---|---|
| Exerciții PDF (jumătate) | ✅ | ✅ |
| Exerciții PDF (cealaltă jumătate) | ❌ | ✅ |
| Exerciții Interactive | ❌ | ✅ |
| Manuale Online | ❌ | ✅ |
Conținutul se va gestiona prin tabela content din Supabase:
category: clasa-5, clasa-6, clasa-7, clasa-8, evaluare-nationala, bacalaureat, manualecontent_type: pdf, interactive, manualis_free: true pentru gratuit, false pentru premiumfile_url: link către PDF din Supabase Storageinteractive_data: JSON cu datele exercițiului interactivmanual_content: conținut HTML/Markdown pentru manualeFișierele PDF se încarcă în bucket-ul content-files din Supabase Storage.