Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

12 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฎ Game of Memory (Game of Boxes)

A full-stack web-based memory game where users test and improve their memory skills by matching boxes. This project includes secure authentication, modern UI, and a scalable backend architecture.


๐Ÿš€ Live Demo

deployed link


๐Ÿ“Œ Project Overview

Game of Memory is an interactive web application built using the MERN stack. Users can sign up, log in (including Google OAuth), and play a memory game with a smooth and responsive UI. The application follows best practices for scalability, security, and maintainability.


๐Ÿ› ๏ธ Tech Stack

Frontend

  • React.js (Vite)
  • Redux Toolkit
  • React Router
  • Bootstrap & React Bootstrap
  • Axios
  • Google OAuth
  • React Toastify

Backend

  • Node.js
  • Express.js
  • MongoDB & Mongoose
  • JWT Authentication
  • Google Auth Library
  • bcryptjs
  • Helmet & Rate Limiting
  • CORS

โœจ Features

โœ… User authentication (JWT + Google OAuth)
โœ… Secure password hashing
โœ… Responsive UI
โœ… Memory box matching game
โœ… Redux state management
โœ… API-based architecture
โœ… Protected routes
โœ… Environment-based configuration
โœ… Scalable and modular project structure

๐Ÿ“‚ Folder Structure

game_of_memory/
โ”‚
โ”œโ”€โ”€ game-of-boxes/
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ”œโ”€โ”€ redux/
โ”‚   โ””โ”€โ”€ pages/
โ”‚
โ”œโ”€โ”€ game-of-boxes-backend/
โ”‚   โ”œโ”€โ”€ controllers/
โ”‚   โ”œโ”€โ”€ models/
โ”‚   โ”œโ”€โ”€ routes/
โ”‚   โ””โ”€โ”€ middleware/
โ”‚
โ””โ”€โ”€ README.md

โš™๏ธ Installation & Setup

1๏ธโƒฃ Clone the Repository

git clone https://github.com/kiranwankhade/game_of_memory.git
cd game_of_memory

2๏ธโƒฃ Setup Backend

cd game-of-boxes-backend
npm install

Create a .env file inside the backend:

PORT=5000
MONGO_URI=your_mongodb_connection
JWT_SECRET=your_secret_key
GOOGLE_CLIENT_ID=your_google_client_id

Run backend:

npm run dev

3๏ธโƒฃ Setup Frontend

cd game-of-boxes
npm install

Create a .env file inside the backend:

VITE_API_URL=http://localhost:5000
VITE_GOOGLE_CLIENT_ID=your_google_client_id

Run frontend:

npm run dev

๐Ÿ” Environment Variables

This project uses .env files for security and configuration. Do not commit these files to version control.

๐Ÿ“Š API Highlights

The backend provides RESTful APIs for:

  • User Authentication (Signup, Login, Logout)
  • Google OAuth Authentication
  • JWT-based Authorization
  • Protected Routes
  • Secure Password Hashing
  • User Session Handling
  • Game Logic and Data Management

๐Ÿ“ฆ Deployment

You can deploy the project using the following platforms:

๐ŸŒ Frontend

โš™๏ธ Backend

๐Ÿ—„๏ธ Database

  • MongoDB Atlas

๐Ÿ“ธ Screenshots

๐Ÿ  Home & Theme

Light Mode Dark Mode
home_web theme

๐ŸŽฎ Game & Leaderboard

Game Screen Leaderboard
game leaderboard

๐Ÿ‘ค Profile & Authentication

Profile Sign In
profile SignIn

โšก UI & Notifications

Toast Message
toast

About

Built a full-stack MERN memory game featuring secure authentication, global leaderboard, and real-time score tracking. Designed responsive UI with theme switching and implemented scalable, secure REST APIs.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages