Exploding Kitten is a web-based single-player card game where players draw cards from a deck. The game consists of four types of cards: Cat, Defuse, Shuffle, and Exploding Kitten. The player wins if they can draw all the cards.
- Cat Card: Safe to draw.
- Defuse Card: This can defuse the Exploding Kitten card.
- Shuffle Card: Shuffles the deck and resets the game.
- Exploding Kitten: Ends the game if drawn unless the player has a defuse card.
The application also includes features like a leaderboard to track players' scores, and game persistence to allow users to continue from where they left off.
- Single-player gameplay with deck management.
- Game persistence so users can continue their game after leaving.
- Leaderboard to record how many games they won
- Responsive design using React.
- React, Redux
- Tailwind CSS
- GoLang (Server logic)
- Redis (Database to store user data)
- Clone the repository:
git clone https://github.com/prinshukumar22/ExplodingKittens-Emitrr.git cd ExplodingKittens-Emitrr/client
- Install Dependencies
npm install
- Run the Development Server:
npm run dev
- Open your browser and navigate to http://localhost:5173 to view the application.
-
Navigate to the backend directory from the root directory:
cd ExplodingKittens-Emitrr/server
-
Install Dependencies
go mod tidy
-
Use your Redis connection URL to set up your Redis database. REDIS_URL: Redis connection URL, such as redis://localhost:6379/0
-
Ensure Redis is running. If you're using Docker, you can start Redis with:
docker run --name redis -p 6379:6379 -d redis
- Start the Backend Server:
go run main.go
- The server will run on http://localhost:8080