Skip to content

BlackRavenWolf/trivia-quiz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

© 2026 Dominique Striekwold

# Trivia Quiz

A modular and scalable **Trivia Quiz web application** built using  
**HTML, CSS, and modern JavaScript (ES Modules).**

Originally started as a beginner learning exercise inspired by a quiz concept seen in the **Mimo learning platform**, this project has evolved into a structured frontend application focused on:

- modular application architecture  
- application state management  
- UI rendering flow control  
- scalable quiz generation logic  
- maintainable CSS architecture  
- refactoring and debugging workflows  

The project demonstrates how to build a **real browser application without frameworks**, while still applying professional frontend engineering principles.

---

# Live Demo

https://blackravenwolf.github.io/trivia-quiz/

---

# Purpose

This project serves as an **advanced frontend learning and portfolio project**.

Main learning goals:

- Building a real modular JavaScript application  
- Managing application state without frameworks  
- Designing scalable UI rendering logic  
- Structuring large frontend projects professionally  
- Practicing debugging and refactoring techniques  
- Designing game-like UI flows and state transitions  
- Preparing architecture for future multiplayer and backend integration  

---

# Features

## Gameplay

- Large categorized question database  
- Difficulty levels: Easy / Medium / Hard / Expert  
- Mixed difficulty distribution logic  
- Randomized question selection per session  
- No duplicate questions within a quiz  
- Shuffled answer options  
- Automatic answer validation after selection  
- Countdown timer per question  
- Real-time score tracking  
- Animated progress bar  
- **Pause and resume gameplay system**  
- **Saved quiz progress during active session**  
- Continue game option when returning to the start screen  

## Screens

- Start screen  
- Options screen  
- Credits screen  
- Quiz gameplay screen  
- Pause overlay screen  
- Final completion screen  
- Restart quiz functionality  
- Return to main menu  
- Continue previous quiz session  

## Quiz Settings

- Difficulty selection  
- Question amount selection (Quick → Ultimate)  
- Multi-category filtering  
- Live preview of selected settings  

## UI / UX

- Glassmorphism quiz container  
- Gradient atmospheric background  
- Window-style header bar  
- Animated timer and score indicators  
- Smooth feedback and transition states  
- Clear visual hierarchy and centered gameplay focus  
- Responsive layout (desktop / tablet / mobile)  
- Game-like interaction flow  

---

# Project Structure

trivia-quiz
│
├── index.html
│
├── assets
│ └── images
│ └── trivia-bg-main.jpg
│
├── css
│ ├── base
│ ├── layout
│ ├── components
│ ├── screens
│ ├── responsive
│ └── main.css
│
└── js
├── app.js
├── config
├── data
├── dom
├── quiz
├── ui
├── timer
└── utils

### Architecture Highlights

- Clear separation of concerns  
- Modular screen rendering system  
- Scalable quiz builder logic  
- Pause-safe game state handling  
- Feature-driven folder structure  
- Multiplayer-ready architecture  
- Backend / API integration readiness  
- Professional frontend project organization  

---

# How It Works

1. User selects quiz settings  
2. Quiz builder generates a randomized question set  
3. Quiz screen is rendered dynamically  
4. Timer starts for each question  
5. Player selects an answer → timer stops → answer is validated  
6. Feedback and score update instantly  
7. Player can pause the game at any time  
8. Quiz progress is preserved during the session  
9. Player can resume or stop the game  
10. Quiz continues until completion  

---

# Debugging Workflow

Development debugging is performed using browser developer tools.

**F12 → Console**

Used to monitor:

- module loading  
- quiz generation logic  
- timer lifecycle  
- UI state transitions  
- answer validation flow  
- pause/resume state handling  

The modular architecture allows **isolated debugging per feature module**, improving maintainability and scalability.

---

# Future Improvements

Possible upgrades:

- Multiplayer mode  
- LocalStorage persistent save system  
- Global leaderboard  
- Sound effects and animation polish  
- Player statistics screen  
- Accessibility improvements  
- Theme system (dark / light)  
- External API question loading  
- Backend integration  
- Player profiles and matchmaking  

---

# Status

Active learning and portfolio project.

This application has evolved from a beginner exercise into a  
**structured modular frontend application demonstrating real software engineering practices and scalable UI architecture.**

---

# Author

Created by **Dominique Striekwold**  
as part of a personal web development learning journey.

---

# License

Licensed under the **MIT License**.  
See LICENSE file for details.

About

Responsive Trivia Quiz application built with HTML, CSS and JavaScript.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors