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.
- ๐ฏ 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
- Node.js 18+
- MongoDB database
- Google OAuth credentials
-
Clone the repository
git clone https://github.com/calvinorr/Xmas2025Quiz.git cd Xmas2025Quiz -
Backend Setup
cd backend npm install cp .env.example .env # Edit .env with your MongoDB URI and Google OAuth credentials npm start
-
Frontend Setup
cd frontend npm install npm run dev -
Access the Application
- Frontend: http://localhost:3000
- Backend: http://localhost:5001
5 clues reveal an answer, points decrease with each clue
"Stinky Pinky" style two-word rhyming answers
Combine two pictures into one answer
Acting round limited to Christmas props
10-second reversed festive song snippets
Finish the lyric with the last word missing
- Node.js/Express - Server framework
- MongoDB/Mongoose - Database and ODM
- Passport.js - Google OAuth authentication
- Socket.IO - Real-time communication
- Express Sessions - Session management
- 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
- Google OAuth authentication
- Game creation and round selection
- Christmas-themed responsive UI
- Backend APIs and database models
- Socket.IO integration framework
- Round configuration system
- Question bank integration
- Player joining system
- Game lobby with real-time updates
- Game flow and scoring
- Apple OAuth integration
- AI question generation
- PWA features
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=5001POST /api/games- Create new gameGET /api/games/:gameId- Get game detailsPUT /api/games/:gameId/rounds- Update game roundsGET /auth/google- Google OAuth loginGET /user- Get current user profile
- Christmas Red: #C53030
- Christmas Green: #38A169
- Christmas Gold: #D69E2E
- Christmas White: #FFFEF7
- Teal Accent: #38B2AC
- Glassmorphism effects with backdrop-filter
- Mobile-first responsive design
- CSS custom properties for theming
- Smooth animations and transitions
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- 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