Skip to content

HosamDyab/Quiz-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

11 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ Internet Technology Quiz

JavaScript HTML5 CSS3 Responsive Accessibility License

A modern, interactive Internet Technology quiz application with a beautiful neomorphic UI design. Features multiple question types, theme switching, detailed review section, and a sleek animation system. Built with pure frontend technologies for outstanding performance.

Internet.Technologies.mp4

โœจ Key Features

Multiple Question Types
Multiple Question Types
Interactive
Neomorphic UI
Timer
Quiz Timer
Dark Mode
Dark/Light Themes
Analytics
Detailed Review
Animation
Rich Animations

๐Ÿ“ฑ Responsive Design

The application is fully responsive and works beautifully on all devices:

  • Desktop: Full-featured experience with optimized layouts
  • Tablet: Adjusted UI for comfortable touch interaction
  • Mobile: Streamlined interface for on-the-go learning

๐ŸŽฎ Quiz Features

  • 20 Internet Technology Questions: Covering HTTP, DNS, networking, web development and more
  • Multiple Question Types: MCQ, True/False, and Text Input questions
  • 15-Minute Timer: Challenge yourself to complete all questions in time
  • Score Tracking: See how well you performed
  • Detailed Review: Compare your answers with correct ones, with explanations
  • Navigation: Go back to previous questions to change answers
  • Visual Feedback: Clear color-coding (green for correct, red for incorrect)

๐ŸŽจ UI/UX Highlights

Neomorphic Design System

  • Soft, realistic shadows that create a 3D effect
  • Custom elevation system for interactive elements
  • Consistent design language throughout the application

Color Themes

  • Light theme: Clean, bright interface for daytime use
  • Dark theme: Eye-friendly dark mode for night time
  • System preference detection: Automatically matches your device settings

Animation System

  • Smooth transitions between quiz states
  • Micro-interactions for enhanced feedback
  • Performance-optimized animations using CSS techniques

๐Ÿ’ป Technical Implementation

Vanilla JavaScript Architecture

/**
 * Shows the review screen with a list of questions and user's answers
 * Visually indicates if answers are correct or incorrect
 */
function showReviewScreen() {
    // Create review item for each question
    questions.forEach((question, index) => {
        // Get user's answer
        const userAnswerText = getUserAnswerText(question);
        
        // Create visual feedback based on correctness
        const userAnswerObj = userAnswers[index];
        if (userAnswerObj && userAnswerObj.correct) {
            userAnswer.classList.add('correct'); // Green styling
        } else if (userAnswerText !== "Not answered") {
            userAnswer.classList.add('wrong'); // Red styling
        }
        
        // Display correct answer for comparison
        const correctAnswer = document.createElement('div');
        correctAnswer.classList.add('review-answer', 'correct-answer');
        correctAnswer.textContent = getCorrectAnswerText(question);
    });
}

CSS Variables & Design Tokens

:root {
    /* Color Palette */
    --primary: #7000FF;
    --primary-dark: #5B00CC;
    --primary-light: #9B4DFF;
    --primary-rgb: 112, 0, 255;
    --secondary: #FF2D55;
    --accent: #00F7FF;
    --accent-secondary: #0096FF;
    
    /* Neomorphic Shadow System */
    --soft-shadow-light: rgba(166, 177, 199, 0.5);
    --hard-shadow-light: rgba(255, 255, 255, 0.8);
    --soft-shadow-dark: rgba(0, 0, 0, 0.3);
    --hard-shadow-dark: rgba(40, 45, 60, 0.5);
    
    /* Dynamic Theme Variables */
    --background: var(--bg-light);
    --text: var(--text-light);
    --shadow-soft: var(--soft-shadow-light);
    --shadow-hard: var(--hard-shadow-light);
}

โšก Performance Optimizations

  • Efficient DOM Manipulation: Minimized reflows and repaints
  • Event Delegation: Optimized event handling
  • CSS Animation: Hardware-accelerated animations with transforms
  • Lazy Initialization: Components load only when needed
  • Debounced Events: Prevents performance bottlenecks during interaction

๐Ÿš€ Getting Started

# Clone the repository
git clone https://github.com/HosamDyab/Quiz-App.git

# Navigate to the project
cd Quiz-App

# No build tools or dependencies required!
# Simply open index.html in your browser

Running Locally

  1. Double-click on index.html or open it with your browser
  2. No server needed - works directly from the filesystem
  3. No external dependencies - everything included!

๐Ÿ“ Project Structure

Quiz-App/
โ”œโ”€โ”€ index.html          # Main entry point
โ”œโ”€โ”€ script.js           # Quiz application logic
โ”œโ”€โ”€ styles.css          # Styling and animations
โ”œโ”€โ”€ README.md           # Documentation

๐Ÿงช Browser Compatibility

  • โœ… Chrome (latest)
  • โœ… Firefox (latest)
  • โœ… Safari (latest)
  • โœ… Edge (latest)
  • โœ… Opera (latest)
  • โœ… Mobile browsers

๐Ÿ› ๏ธ Future Enhancements

  • User accounts and progress tracking
  • Additional question categories
  • Difficulty level settings
  • Offline support with PWA implementation
  • Multi-language support
  • Social sharing of results

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ‘ Acknowledgements


Made with โค๏ธ by Hosam Dyab

GitHub

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors