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.