A comprehensive quiz application designed for programmers to test their knowledge across various programming topics and difficulty levels.
- Multi-language Support: Quiz questions in C++, C#, JavaScript, React, Software Development, TypeScript, and Web Development
- Difficulty Levels: Easy, Medium, and Hard difficulty options
- Interactive UI: Modern, responsive design with intuitive navigation
- Performance Tracking: Results analysis and performance charts
- State Management: Efficient state handling using Zustand
- Data Persistence: Cache management for improved performance
- Framework: Next.js 16.1.3 (App Router)
- Language: TypeScript 5
- UI Library: Tailwind CSS with DaisyUI components
- State Management: Zustand
- Charts: Chart.js with React Chart.js 2
- Icons: Font Awesome
- Performance: React 19.2.3, use-debounce
src/
โโโ app/ # Next.js App Router pages
โโโ components/ # Reusable UI components
โโโ data/ # Quiz question data files
โโโ hooks/ # Custom React hooks
โโโ lib/ # Utility libraries
โโโ store/ # Zustand global state stores
โโโ types/ # TypeScript type definitions
โโโ utils/ # Utility functions
-
Start the Development Server
npm run dev # or yarn dev # or pnpm dev # or bun dev
-
Access the Application Open http://localhost:3000 in your browser
-
Navigation
- Select topics of interest
- Choose difficulty level
- Start quiz and answer questions
- View results and performance analysis
- C++
- C#
- JavaScript
- React
- Software Development
- TypeScript
- Web Development
- Easy
- Medium
- Hard
The application includes:
- Results page with detailed performance metrics
- Data visualization using Chart.js
- Topic-wise performance tracking
next: 16.1.3react: 19.2.3react-dom: 19.2.3zustand: 5.0.10chart.js: 4.5.1daisyui: 5.5.14
typescript: 5eslint: 9tailwindcss: 4.1.18prettier: 3.8.0
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLintstartGameModal- Initial quiz setupquizPage- Main quiz interfaceresults- Performance analysissidebar- Topic selectionnavbar- Navigation bar
useQuizGameStore- Quiz game stateuseSelectedTopicsStore- Selected topicsuseDifficultyModalStore- Difficulty selectionuseStartModalStore- Start modal stateuseDataStore- Data managementuseComfirmModalStore- Confirmation modal
- Tailwind CSS: Utility-first CSS framework
- DaisyUI: Component library built on Tailwind
- Responsive Design: Mobile-first approach
- Custom Themes: Tailwind configuration
- JSON files for each topic and difficulty level
- Cache store for improved performance
- Data validation and sanitization
answer.d.tsdata.d.tsquizGameOptions.d.tsquizQuestion.d.tstopic.d.ts
- Input validation for all user interactions
- Secure API routes for quiz validation
Deploy to Netlify using the official deployment documentation: Next.js Deployment Documentation
This project is licensed under the MIT License - see the LICENSE file for details.
Built with Next.js, React, and TypeScript