An interactive quiz application built with React and Vite, featuring timed multiple-choice questions with immediate feedback and comprehensive results analysis.
- Features
- Demo
- Screenshots
- Tech Stack
- Prerequisites
- Installation
- Usage
- Project Structure
- Contributing
- ⏱️ Timed Questions: Each question has a countdown timer with auto-skip functionality
- ✅ Instant Feedback: Immediate visual feedback on answer selection
- 🔀 Randomized Answers: Answer order is shuffled for each question
- 📊 Detailed Results: Comprehensive summary with performance metrics
- 🎯 Responsive Design: Optimized for desktop and mobile devices
- 🚀 Fast Development: Built with Vite for rapid development and optimized builds
The initial screen where users can start the quiz
Question display with multiple-choice answers and timer
Final results screen with performance breakdown
- Frontend Framework: React 19 with functional components and hooks
- Build Tool: Vite for fast development and optimized production builds
- Programming Language: JavaScript (ES6+) with JSX
- Code Quality: ESLint for linting and code standards
- Styling: CSS with modern responsive design principles
- Node.js (version 16 or higher)
- npm or yarn package manager
-
Clone the repository
git clone https://github.com/vasylpryimakdev/react-timed-quiz.git cd react-quiz -
Install dependencies
npm install
-
Start the development server
npm run dev
-
Open your browser
Navigate to
http://localhost:5173to view the application.
| Command | Description |
|---|---|
npm run dev |
Start the development server |
npm run build |
Build the project for production |
npm run lint |
Run ESLint for code quality checks |
npm run preview |
Preview the production build locally |
react-quiz/
├── public/
│ └── screenshots/ # Application screenshots
├── src/
│ ├── assets/ # Static assets (images, icons)
│ ├── components/ # React components
│ │ ├── Answers.jsx # Answer options component
│ │ ├── Header.jsx # Application header
│ │ ├── Question.jsx # Question display component
│ │ ├── QuestionTimer.jsx # Timer component
│ │ ├── Quiz.jsx # Main quiz logic
│ │ └── Summary.jsx # Results summary component
│ ├── questions.js # Quiz questions data
│ ├── App.jsx # Main application component
│ ├── main.jsx # Application entry point
│ └── index.css # Global styles
├── package.json # Dependencies and scripts
├── vite.config.js # Vite configuration
└── README.md # Project documentation
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request