A modern, interactive IELTS vocabulary quiz application built with Next.js, TypeScript, and Tailwind CSS.
- Category Selection: Choose from 8 different vocabulary categories
- Two Quiz Modes: Manual word entry or AI-generated questions
- Advanced Settings: Customize difficulty, time limits, and question types
- Real-time Scoring: Get points for correct answers and sentence writing
- Timer Functionality: Automatic quiz completion when time runs out
- Interactive Feedback: Toast notifications and progress tracking
- Beautiful UI: Modern design with animations and confetti celebrations
- Node.js 18+
- npm or yarn
- OpenRouter API key (for AI-generated questions)
- Clone the repository:
git clone https://github.com/yasirali646/quizify
cd quizify- Install dependencies:
npm install- Set up environment variables:
Create a
.env.localfile in the root directory:
OPENROUTER_API_KEY=your_openrouter_api_key_here- Get your OpenRouter API key:
- Visit OpenRouter Platform
- Create a new API key
- Rename the
example.env.localto.env.localfile
- Run the development server:
npm run dev- Open http://localhost:3000 in your browser.
- Travel & Holidays
- Friends & Relationships
- Education
- Home & Family
- Shopping & Consumerism
- Health & Fitness
- Work & Career
- General Vocabulary
- Enter your own vocabulary words
- Full control over quiz content
- Perfect for targeted practice
- AI-generated questions using OpenRouter API
- Advanced settings configuration
- Fallback to pre-built questions if AI fails
- Question Limit: 10, 20, or 30 questions
- Difficulty Level: Easy, Medium, Hard
- Attempts: 1, 2, or 3 chances per question
- Question Type: Multiple Choice or True & False
- Time Limit: 30 seconds, 1 minute, or 5 minutes
- Timer: Automatic quiz completion when time expires
- Wrong Answer Handling: Incorrect options are removed with toast notifications
- Sentence Writing: Bonus points for writing sentences with correct words
- Scoring System: 5 points for correct answers, 3 points for sentences
- Results: Congratulations with confetti for 50+ scores
- Framework: Next.js 15 with App Router
- Language: TypeScript
- Styling: Tailwind CSS
- Icons: Lucide React
- Animations: Framer Motion
- Notifications: React Hot Toast
- Confetti: React Confetti
- AI Integration: OpenRouter API
src/
├── app/
│ ├── api/
| | └── analyze-sentence/
│ │ └── generate-questions/ # OpenAI API integration
│ ├── ai/ # AI settings page
│ ├── manual/ # Manual word entry page
│ ├── mode/ # Mode selection page
│ ├── quiz/ # Main quiz page
│ ├── globals.css # Global styles
│ ├── layout.tsx # Root layout
│ └── page.tsx # Home page
├── components/
│ ├── Navbar.tsx # Navigation component
│ └── Footer.tsx # Footer component
The application uses OpenAI's gpt-oss-20b model to generate contextual vocabulary questions based on:
- Selected category
- Difficulty level
- Question type
- Number of questions
If the AI service is unavailable, the app gracefully falls back to pre-built question sets.
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License.
For support or questions, please open an issue on GitHub.