Skip to content

calvinorr/Xmas2025Quiz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

4 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ„ Christmas House-of-Games Quiz

A festive family quiz night application inspired by the BBC's House of Games, built as a Progressive Web App (PWA) with real-time multiplayer functionality.

Christmas Quiz Status License

โœจ Features

  • ๐ŸŽฏ 6 Mini-Game Rounds: Clue-Five, Rhyme Time, Answer Smash, Ridiculous Charades, Sound Round, Broken Karaoke
  • ๐ŸŽฎ Real-time Multiplayer: Socket.IO powered game rooms with 6-character room codes
  • ๐Ÿ” Google OAuth: Secure authentication with session management
  • ๐Ÿ“ฑ Responsive Design: Mobile-first Christmas-themed UI with glassmorphism effects
  • ๐Ÿ† Tournament Style: 5-round tournaments with team scoring
  • ๐ŸŽ„ Christmas Theme: Festive design inspired by House of Games

๐Ÿš€ Quick Start

Prerequisites

  • Node.js 18+
  • MongoDB database
  • Google OAuth credentials

Installation

  1. Clone the repository

    git clone https://github.com/calvinorr/Xmas2025Quiz.git
    cd Xmas2025Quiz
  2. Backend Setup

    cd backend
    npm install
    cp .env.example .env
    # Edit .env with your MongoDB URI and Google OAuth credentials
    npm start
  3. Frontend Setup

    cd frontend
    npm install
    npm run dev
  4. Access the Application

๐ŸŽฏ Game Rounds

1. ๐Ÿ” Clue-Five

5 clues reveal an answer, points decrease with each clue

2. ๐ŸŽต Rhyme Time

"Stinky Pinky" style two-word rhyming answers

3. ๐Ÿ–ผ๏ธ Answer Smash

Combine two pictures into one answer

4. ๐ŸŽญ Ridiculous Charades

Acting round limited to Christmas props

5. ๐ŸŽง Sound Round

10-second reversed festive song snippets

6. ๐ŸŽค Broken Karaoke

Finish the lyric with the last word missing

๐Ÿ—๏ธ Architecture

Backend

  • Node.js/Express - Server framework
  • MongoDB/Mongoose - Database and ODM
  • Passport.js - Google OAuth authentication
  • Socket.IO - Real-time communication
  • Express Sessions - Session management

Frontend

  • React 18 - UI framework with modern hooks
  • React Router - Client-side routing
  • Axios - API communication
  • Vite 4 - Build tool (Node 18 compatible)
  • CSS Grid/Flexbox - Responsive layouts

๐Ÿ“‹ Development Status

โœ… Completed

  • Google OAuth authentication
  • Game creation and round selection
  • Christmas-themed responsive UI
  • Backend APIs and database models
  • Socket.IO integration framework
  • Round configuration system

๐Ÿšง In Progress

  • Question bank integration
  • Player joining system

๐Ÿ“… Planned

  • Game lobby with real-time updates
  • Game flow and scoring
  • Apple OAuth integration
  • AI question generation
  • PWA features

๐Ÿ”ง Environment Setup

Create a .env file in the backend directory:

MONGO_URI=mongodb://localhost:27017/christmas-quiz
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
SESSION_SECRET=your_session_secret
FRONTEND_URL=http://localhost:3000
PORT=5001

๐Ÿ“ API Endpoints

  • POST /api/games - Create new game
  • GET /api/games/:gameId - Get game details
  • PUT /api/games/:gameId/rounds - Update game rounds
  • GET /auth/google - Google OAuth login
  • GET /user - Get current user profile

๐ŸŽจ Design System

Colors

  • Christmas Red: #C53030
  • Christmas Green: #38A169
  • Christmas Gold: #D69E2E
  • Christmas White: #FFFEF7
  • Teal Accent: #38B2AC

Features

  • Glassmorphism effects with backdrop-filter
  • Mobile-first responsive design
  • CSS custom properties for theming
  • Smooth animations and transitions

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add 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.

๐ŸŽ„ Acknowledgments

  • Inspired by BBC's House of Games
  • Built with modern React and Node.js
  • Christmas theme for family fun
  • Designed for accessibility and mobile use

Made with โค๏ธ for Christmas family fun

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors