This is a Next.js app for learning English, featuring lessons, challenges, and progress tracking. The project uses Drizzle ORM and Neon serverless database for backend data management. UI is styled with Tailwind CSS.
- Multi-unit, multi-lesson structure for English learning
- Each lesson contains multiple challenges (questions)
- Each challenge has multiple options, with support for images and audio
- User progress and subscription tracking
- Admin panel for content management
First, install dependencies:
npm installRun the development server:
npm run devOpen http://localhost:3000 in your browser.
To seed the database with sample lessons, challenges, and options, run:
npm run seedThis will populate the database with initial units, lessons, challenges, and options. You can customize the seed data in scripts/seed.ts.
app/- Main Next.js app pages and layoutscomponents/- Reusable UI componentsdb/- Drizzle ORM schema and queriesscripts/seed.ts- Database seeding script
To add more lessons or questions, edit scripts/seed.ts and add entries to the lessons, challenges, and challengeOptions arrays. Each lesson can have multiple challenges, and each challenge can have multiple options (with text, image, and audio).
- Next.js Documentation — Features and API reference
- Learn Next.js — Interactive tutorial
- Next.js GitHub repository
Deploy easily on Vercel from the creators of Next.js.
See Next.js deployment documentation for more details.
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devOpen http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Inter, a custom Google Font.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.