a growing collection of small Java desktop games — built to sharpen GUI, OOP and database fundamentals
two games, zero frameworks, all hand-rolled Swing
miniProjects is where classic games get rebuilt from scratch in Java no game engines, no external UI kits, no prebuilt templates. Every gallows line, every grid cell, every click handler is written by hand.
The point isn't the games themselves it's the practice: custom rendering with Graphics2D, event-driven UI with Swing, clean class separation, and wiring a desktop app to a real database with JDBC.
Each project below is complete and independent its own README, its own setup steps, its own screenshots. This root README is just the map that ties them together.
| Project | What it is | Highlights | Stack |
|---|---|---|---|
| Full desktop Hangman game with a live-drawn gallows, on-screen keyboard, timer, and a persistent leaderboard |
• Hand-drawn gallows via Graphics2D, one part per mistake• Clickable QWERTY + physical keyboard, instant feedback • 60-second countdown timer • Scoring engine +2 correct, −1 wrong• Categorized word bank + Top 10 leaderboard in MySQL • Auto-falls back to 18 built-in words if MySQL is offline |
Java Swing JDBC MySQL 8 |
|
| Classic 2-player Tic Tac Toe on a clean 3x3 Swing grid |
• Auto turn-switching between X and O • Checks all 8 win patterns rows, cols, both diagonals • Draw detection when the board fills with no winner • Popup result via JOptionPane• Board auto-resets for an instant rematch |
Java Swing |
Clone the repo once, then step into whichever project you want:
git clone https://github.com/Subhanjeet/miniProjects.git
cd miniProjects| Project | Requirements | Quick run |
|---|---|---|
| Hangman | JDK 8+, MySQL (optional offline fallback built in) |
cd Hangman
javac -cp .;mysql-connector-j-8.x.x.jar *.java
java -cp .;mysql-connector-j-8.x.x.jar hangman |
| TicTacToe | JDK 8+ only — nothing else to install |
cd TicTacToe
javac TicTacToe.java
java TicTacToe |
📌 Full setup, database schema, configuration and troubleshooting for each game live in their own README linked above.
| Layer | Technology |
|---|---|
| 💻 Language | Java (JDK 8+) |
| 🎨 GUI | Java Swing + AWT |
| 🖌️ Graphics | Graphics2D for custom rendering (Hangman) |
| 🗄️ Database | MySQL + JDBC (Hangman only) |
| 🏗️ Build | Plain javac — no Maven, no Gradle, no dependencies to manage |
miniProjects/
├── Hangman/
│ ├── hangman.java # entry point
│ ├── HangmanGUI.java # game logic + controller
│ ├── HangmanCanvas.java # Graphics2D gallows rendering
│ ├── KeyboardPanel.java # QWERTY input
│ ├── SidebarPanel.java # timer / score / wrong guesses
│ ├── TopBarPanel.java # player info + nav
│ ├── LeaderboardDialog.java # Top 10 leaderboard
│ ├── GameOverDialog.java # win/lose + replay
│ ├── DBManager.java # JDBC + MySQL operations
│ ├── schema.sql # database schema
│ └── README.md
│
├── TicTacToe/
│ ├── TicTacToe.java # single-class game
│ ├── assets/
│ │ ├── X_Win.png
│ │ ├── Y_Win.png
│ │ └── Draw.png
│ └── README.md
│
└── README.md # you are here