A clean, interactive quiz application built with vanilla JavaScript following Object-Oriented Programming principles. This project demonstrates modern JavaScript techniques and DOM manipulation skills.
- Category Selection: Choose from multiple quiz categories
- Difficulty Levels: Easy, Medium, and Hard difficulty settings
- Customizable Question Count: Set how many questions you want to answer
- Score Tracking: Real-time score display throughout the quiz
- Smooth Animations: Enhanced user experience with AOS (Animate On Scroll) library
- Responsive Design: Works seamlessly on desktop and mobile devices
- HTML5 - Semantic markup and page structure
- CSS3 - Styling and responsive design
- Bootstrap 5 - UI components and layout system
- JavaScript (ES6+) - Application logic and OOP implementation
- AOS Library - Scroll animations and transitions
- Open Trivia DB API - Question data source
- OOP Architecture: Implemented using JavaScript classes for questions, quiz logic, and UI rendering
- Modern JavaScript: Utilizes ES6+ features (classes, arrow functions, template literals)
- Dynamic Content: Questions and answers are generated dynamically based on user selections
- API Integration: Fetches questions from the Open Trivia Database API
quiz-game/
├── index.html
├── css/
│ ├── bootstrap.min.css
│ └── style.css
├── images/
│ └── quiz.png
└── js/
├── bootstrap.bundle.min.js
├── index.js
├── question.js
└── quiz.js
- Select your preferred quiz category
- Choose a difficulty level
- Enter the number of questions you want to answer
- Click "Start" to begin the quiz
- Read each question and click on your answer
- View your final score at the end
- Click "Try Again" to restart with new options
Quiz start screen with category selection
Interactive question interface with animated elements
Results page showing final score
This project was created specifically to practice and demonstrate Object-Oriented Programming principles in JavaScript, highlighting the importance of clean code architecture in frontend development.
👩💻 Developed By Asmaa Abdo