EduText is a Next.js 14 application that generates Indonesian education documents (Modul Ajar, RPP, Modul Pembelajaran) with Deep Learning 4 phases and 3M (Mindful, Meaningful, Joyful) embedded in every phase. PDF generation is handled by Playwright in a background worker.
- Next.js 14 App Router + TypeScript
- TailwindCSS (shadcn-inspired components)
- Prisma + PostgreSQL
- NextAuth (Google OAuth, httpOnly cookies)
- BullMQ + Redis for jobs
- Playwright PDF generator
- Midtrans Snap payments
- S3-compatible storage (Cloudflare R2)
- Copy
.env.exampleto.envand fill values. - Start Postgres + Redis:
docker compose up -d
- Install dependencies:
pnpm install
- Run migrations + seed:
pnpm prisma:migrate pnpm prisma:seed
- Install Playwright deps:
npx playwright install --with-deps chromium
- Start app + worker:
pnpm dev pnpm worker
See .env.example for the full list.
See docs/deployment.md.