A fun and interactive memory card matching game built with React.js. Flip cards, find matching pairs, and complete the game in as few turns as possible!
https://magic-memory-sigma.vercel.app
- 🃏 Memory card matching gameplay
- 🔀 Randomized card shuffle every game
- 🎯 Turn counter
- ✅ Matched cards remain visible
- 🚫 Prevents multiple card selections while checking matches
- 🎉 Elegant completion popup after finishing the game
- 🔄 Automatically starts a new game after completion
- 📱 Responsive and clean UI
- React.js
- JavaScript
- HTML
- CSS
- React Hooks
- useState
- useEffect
magic-match/
│
├── public/
│ ├── img/
│ ├── favicon.ico
│ └── index.html
│
├── src/
│ ├── components/
│ │ ├── SingleCard.js
│ │ └── SingleCard.css
│ │
│ ├── styles/
│ │ ├── App.css
│ │ └── index.css
│ │
│ ├── App.js
│ └── index.js
│
├── package.json
└── README.md
git clone https://github.com/your-username/magic-match.gitcd magic-matchnpm installnpm startThe application will open at:
http://localhost:3000
- Click on a card to reveal it.
- Select another card.
- If both cards match, they remain face up.
- If they don't match, they flip back after a short delay.
- Match all pairs to complete the game.
- Once all cards are matched, a congratulatory popup appears and a new game starts automatically.
- Multiple difficulty levels
- Timer mode
- High score leaderboard
- Sound effects and background music
- Card flip animations
- Theme selection
- Mobile-friendly enhancements
Through this project, I gained hands-on experience with:
- React functional components
- State management using React Hooks
- Event handling
- Conditional rendering
- Array manipulation
- Component-based architecture
- Managing game logic in React
Avani Parab
GitHub: https://github.com/avaniparab
LinkedIn: https://linkedin.com/in/avaniparab