Live demo: https://iam269.github.io/christmas-memory/ ๐๐
An interactive and festive web application designed to create, share, and relive Christmas memories through engaging games and personalized content! ๐
- Christmas Memory Game: Match pairs of festive cards featuring holiday themes, Santa, reindeer, and ornaments ๐
- Gift Catcher Game: Catch falling presents in a fun, timed challenge ๐
- Hidden Easter Eggs: Discover secret surprises scattered throughout the app for extra holiday cheer ๐ฅ
- Memory Form: Add personal Christmas stories, photos, and wishes with a user-friendly form ๐
- Memory Wall: View and interact with a dynamic wall of shared memories from the community ๐ผ๏ธ
- Admin Panel: Moderate and manage submitted memories (admin access required) โ๏ธ
- Christmas Countdown: Real-time countdown to Christmas Day with animated timers โฐ
- Animated Snowfall: Beautiful falling snow effect that enhances the holiday mood โ๏ธ
- Background Music: Playful Christmas tunes, including "All I Want for Christmas Is You" ๐ต
- Sound Toggle: Control audio settings for a customizable experience ๐
- Theme Toggle: Switch between light and dark modes for comfortable viewing ๐
- Responsive Design: Optimized for desktop, tablet, and mobile devices ๐ฑ
- Loading Screens: Smooth transitions with festive loading animations โณ
- Emoji Picker: Add expressive emojis to memories and interactions ๐
- Frontend Framework: React 18 with TypeScript for type-safe development โ๏ธ
- Build Tool: Vite for lightning-fast development and optimized production builds โก
- Styling: Tailwind CSS with custom configurations for holiday-themed designs ๐จ
- UI Components: Shadcn/ui component library for consistent and accessible interfaces ๐ญ
- State Management: React hooks and custom hooks for efficient state handling ๐
- Code Quality: ESLint configuration for maintaining clean, error-free code ๐ง
- Package Manager: Support for both npm and Bun for flexible dependency management ๐ฆ
- Icons & Assets: Custom SVG icons and holiday-themed images ๐ผ๏ธ
- Node.js (version 18 or higher)
- npm or Bun package manager
-
Clone the repository:
git clone https://github.com/your-username/christmas-memory.git cd christmas-memory -
Install dependencies:
npm install # or bun install -
Start the development server:
npm run dev # or bun run dev -
Open your browser and navigate to http://localhost:5173
npm run build
# or
bun run buildThe built files will be in the dist directory, ready for deployment.
christmas-memory/
โโโ public/ # Static assets (images, audio, icons)
โโโ src/
โ โโโ components/ # Reusable React components
โ โ โโโ ui/ # Shadcn/ui components
โ โ โโโ ... # Feature-specific components
โ โโโ hooks/ # Custom React hooks
โ โโโ lib/ # Utility functions and configurations
โ โโโ pages/ # Page components
โ โโโ ... # Main app files
โโโ package.json # Project dependencies and scripts
โโโ tailwind.config.ts # Tailwind CSS configuration
โโโ vite.config.ts # Vite build configuration
โโโ README.md # Project documentation
We welcome contributions to make Christmas Memory even more festive! ๐
- 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
Please ensure your code follows our ESLint configuration and includes appropriate tests.
This project is licensed under the MIT License - see the LICENSE file for details.
Christmas Memory brings the magic of Christmas to the digital world, allowing you to create lasting memories and enjoy festive games. Whether you're reminiscing about past holidays or creating new traditions, this app is your digital advent calendar! ๐โ๏ธ๐
Built with โค๏ธ for the holiday season
