Table of Contents

A digital recreation of the popular card game Exploding Kittens, enhanced with cards from the Imploding Kittens expansion and custom developer-designed cards. The project was developed using industry-standard software engineering practices, including:
Test-Driven Development (TDD)
Behavior-Driven Development (BDD) using Cucumber
Comprehensive testing strategy including unit testing, integration testing, and regression testing
Full Boundary Value Analysis (BVA) and documentation
Code quality tools: SpotBugs, Checkstyle, Jacoco (code coverage), and Pitest (mutation testing)
CI via GitHub Actions and enforced branch protection with required reviewers
Use of software design principles and patterns
Project management through reports and GitHub Projects
internationalization (i18n) support
Follow the steps below to set up and run the project locally on your machine.
-
IntelliJ
While IntelliJ is not required, it is the recommended IDE for building and running this project.
⚠️ Note: All instructions will assume use of IntelliJ. -
JDK 11
This project requires Java 11.
You can download it from the Oracle JDK 11 page
Or install via a package manager:
- macOS:
brew install openjdk@11
- Ubuntu/Linux:
sudo apt update sudo apt install openjdk-11-jdk
- macOS:
-
Clone the repo
git clone https://github.com/calebweldon/ExplodingKittens
-
Configure module settings
- Press
⌘ + ↓
(Mac) orCtrl + Alt + Shift + S
(Windows/Linux) to open Project Structure - Go to the Project tab
- Under Project SDK, select Java 11 (or add it if not listed)
- Click Apply and OK to close
- Press
-
Build the project
./gradlew build
-
Run the game
In your file explorer, navigate to:
src/main/java/ui
Select ▶ Run 'Main.main()' from the context menu
- JDK 11
- JUnit 5.10
- Gradle 8.10
- EasyMock 5.4
- CheckStyle 10.18
- Cucumber 7.20
- Caleb Weldon
- Benjamin Ye
- Eiko Reisz
- Samarth Arul
Caleb Weldon | Website | calebweldon2026@u.northwestern.edu