Lexiverse
Lexiverse - AI contextual reading engine for English learners. Your next article is your next review.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证e-books for kids
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Site με ψηφιακά παιδικά βιβλία: γονείς δημιουργούν λογαριασμό, φτιάχνουν προφίλ για τα παιδιά τους και διαβάζουν εικονογραφημένα παραμύθια με animation γυρίσματος σελίδας. Ένας admin διαχειρίζεται τον κατάλογο βιβλίων.
Χτισμένο με Next.js 16 (App Router), React 19, Tailwind CSS v4, Prisma 7 + Postgres, Auth.js (NextAuth v5) και framer-motion.
Χρειάζεσαι ένα Postgres database (τοπικό ή hosted — π.χ. το ίδιο production Postgres, ή ένα δωρεάν Neon/Vercel Postgres instance).
npm install
# βάλε το DATABASE_URL σου στο .env πρώτα (βλ. .env.example)
npx prisma migrate deploy # δημιουργεί τους πίνακες
npx prisma db seed # γεμίζει με 3 demo βιβλία + λογαριασμούς δοκιμής
npm run dev
Άνοιξε http://localhost:3000.
Αντίγραψε το .env.example σε .env και συμπλήρωσε DATABASE_URL και δική σου τιμή για AUTH_SECRET (openssl rand -base64 32).
| Ρόλος | Κωδικός | |
|---|---|---|
| Admin | [email protected] | Admin123! |
| Γονέας | [email protected] | Goneas123! |
/ — landing page/register, /login — εγγραφή/είσοδος γονέα/profiles — επιλογή/δημιουργία παιδικού προφίλ ("Ποιος διαβάζει;")/library — βιβλιοθήκη με φίλτρα κατηγορίας/books/[id] — αν δεν έχει αγοραστεί το βιβλίο δείχνει paywall (Stripe Checkout)· αλλιώς αναγνώστης με page-flip animation, αποθηκεύει πρόοδο ανά παιδικό προφίλ/parent — διαχείριση παιδικών προφίλ και πρόοδος ανάγνωσης/admin — CRUD βιβλίων/σελίδων (μόνο για ADMIN), με upload εικόνων και ορισμό τιμήςΟι εικόνες βιβλίων αποθηκεύονται στο Vercel Blob όταν υπάρχει BLOB_READ_WRITE_TOKEN, αλλιώς τοπικά στο public/uploads/ (fallback για ανάπτυξη χωρίς Blob).
Κάθε βιβλίο έχει τιμή· η αγορά γίνεται μέσω Stripe Checkout και ισχύει για όλα τα παιδικά προφίλ του λογαριασμού του γονέα.
.env:
STRIPE_SECRET_KEY="sk_test_..."
4242 4242 4242 4242, οποιαδήποτε μελλοντική ημερομηνία λήξης και CVC./api/webhooks/stripe) σε production, πρόσθεσε και STRIPE_WEBHOOK_SECRET. Η κύρια επιβεβαίωση πληρωμής γίνεται όμως ήδη στο /books/[id] όταν επιστρέφεις από το Stripe, οπότε το webhook δεν είναι απαραίτητο για τοπική ανάπτυξη.Χωρίς STRIPE_SECRET_KEY η εφαρμογή τρέχει κανονικά (build/paywall λειτουργούν), απλά το κουμπί "Αγόρασε" θα δείξει σφάλμα μέχρι να προστεθεί το κλειδί.
Το site στέλνει email επιβεβαίωσης στην εγγραφή και απόδειξη μετά από κάθε αγορά, μέσω Resend.
.env:
RESEND_API_KEY="re_..."
EMAIL_FROM) — άλλαξέ το αν χρησιμοποιείς διαφορετικό domain/όνομα.Χωρίς RESEND_API_KEY η εφαρμογή τρέχει κανονικά — η αποστολή email απλά αποτυγχάνει σιωπηλά (καταγράφεται σφάλμα στα logs) χωρίς να μπλοκάρει εγγραφή ή αγορά.
npx prisma studio # γραφικό περιβάλλον για τη βάση
npm run build # production build
DATABASE_URL env var.BLOB_READ_WRITE_TOKEN.AUTH_SECRET, APP_URL (το πραγματικό domain), STRIPE_SECRET_KEY (live key όταν είσαι έτοιμος).DATABASE_URL να δείχνει στο production Postgres: npx prisma migrate deploy && npx prisma db seed.git push, ή vercel --prod).https://<domain>/api/webhooks/stripe για το event checkout.session.completed → πρόσθεσε το STRIPE_WEBHOOK_SECRET στο Vercel.Το postinstall script (prisma generate) τρέχει αυτόματα σε κάθε Vercel build.