A collection of games built with React, TypeScript, and Vite.
- 2048 - Number merging puzzle
- Balloon Goes Up - Keep the balloon in the air
- Archery - Physics-based target shooting
- Bubble Shooter - Match bubbles of the same color
- Candy Crush - Match candies to score
- Carrom - Traditional Indian board game with realistic physics
- Cricket - Bat and ball game
- Flappy Bird - Navigate through pipes
- Hangman - Classic word guessing game
- Kho Kho - Traditional Indian tag team game
- Maze - Find your way out
- Memory Card - Match pairs of cards
- Poll Game - Voting and polling game
- Pong - Classic table tennis game
- Rock Paper Scissors - Classic hand game
- Shape Breaker - Tetris-style block puzzle
- Snake - Classic snake game
- Stick Hero - Bridge building challenge
- Sudoku - Number placement puzzle
- Tic Tac Toe - Classic X and O game
- Troll Launch - Physics-based launching game
- Wack a Mole - Hit the moles
- Wordle - Guess the word
- Clone the repository
- Install dependencies:
npm install - Start the development server:
npm run dev
- React 18
- TypeScript
- Vite
- React Router DOM
- Zustand (State Management)
- Framer Motion (Animations)
src/
├── components/
│ ├── context/ # Context providers (Auth, Game, Theme)
│ ├── layout/ # Layout components (MainLayout)
│ ├── shared/ # Shared UI components (Header, Footer)
│ └── ui/ # Reusable UI components
├── games/ # Individual game implementations
├── pages/ # Route-level views
├── styles/ # Global styles
└── utils/ # Reusable logic
- Multi-game platform hosting various games
- Demo account system with pre-loaded accounts and user registration
- Username-only authentication (no passwords required)
- Responsive UI with light/dark theme support
- Global state management using React Context
- Client-side routing with React Router
- PS5-inspired UI design with modern aesthetics
- Mobile-friendly touch controls
All games are designed to work seamlessly on both desktop and mobile devices with adaptive layouts and touch-friendly controls.
Compete with players worldwide and climb the rankings with our integrated leaderboard system. All registered users appear on the leaderboard, with demo accounts included by default.
Customize your experience with user settings including theme preferences and profile management. Update your username or delete your account as needed.
Contributions are welcome! Please feel free to submit a Pull Request.
The application uses a demo authentication system that requires only usernames (no passwords). The system includes:
- Pre-loaded demo accounts: KRISHNA PATIL RAJPUT, Om Khapote, and Gunjan Pande
- User registration: Other users can create their own demo accounts
- Username-only login: Simply enter your username to sign in
- Local storage: All user data is stored in the browser's localStorage
- Game progress tracking: Scores and game progress are associated with user accounts
To add new default demo accounts, modify the AuthContext.tsx file and add entries to the defaultDemoAccounts array during initialization.
This project is licensed under the MIT License - see the LICENSE file for details.
This application uses client-side routing with React Router. When deploying to production, you need to configure your web server to redirect all routes to index.html to prevent 404 errors when accessing nested routes directly.
Vercel: Add a vercel.json file with:
{
"rewrites": [
{ "source": "/(.*)", "destination": "/index.html" }
]
}Netlify: Add a _redirects file in the public directory with:
/* /index.html 200
Apache (.htaccess):
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.html [QSA,L]
Nginx:
location / {
try_files $uri $uri/ /index.html;
}
For development, the Vite configuration (appType: 'spa') handles routing properly. Run npm run dev to start the development server.
To build for production, run npm run build and serve the dist folder using the server configuration that handles client-side routing.