A collection of small Java applications, mostly generated with AI and tweaked for learning, fun, and experimentation.
Java Vibe Coding: BunchAThings is a playground for hobby Java projects, most of which are AI-generated and then customized.
This repository is intended for learning, experimentation, and sharing small, fun, and practical Java applications and for me to applying CI/CD stuff.
-
📦 Application Hub:
- Browse and launch all
.jarapplications from a single place. - Remembers last opened location.
- Page navigation and debugging tools.
- Browse and launch all
-
🛠️ CI/CD Pipeline:
- Automated build, test (soon), and release using Jenkins (see CI/CD Integration).
- Dependency management via
libs/directory. - Automatic packaging and GitHub release creation.
1. 1000 Miles Card Game (Fun/Games)
- Solo or hotseat multiplayer - Customizable settings2. Bingo (Fun/Games)
- Scoring system - Solo or hotseat multiplayer - Customizable settings3. Hangman (Fun/Games)
- Unlimited attempts - Custom wordlists (.txt/.json) - Remembers last wordlist location4. Wordle (Fun/Games)
- Unlimited attempts - Custom wordlists (.txt/.json) - Remembers last wordlist location - Not limited to 5-letter words5. Minesweeper with a Twist (Fun/Games)
- Scoring system (mines don’t end the game) - Customizable field and mine count - Negative scoring possible6. Battleship (Fun/Games)
- Customizable field size, ship quantity and length - Customizable fire amount per turn - Hotseat multiplayer with randomized ship positions7. Deal or No Deal (Fun/Games)
- Customizable bags quantity, bias and prize ranges - Customizable banker offering frequency, bias and prize range - Option to change bags mid-game - Track or hide bag values - Authentic mode that mimics the real-life game show8. Slot Machine (Fun/Games)
- Customizable starting points, payment, multipliers, and payout lines - Winning logs9. Shop Budgeter
- Calculates what you can buy with a given budget - Supports custom items - Saves and auto-loads items/budgets10. Random List Picker
- Uses custom .txt lists (can load multiple) - Randomly selects and displays results from loaded lists11. Random Number Generator
- Custom min/max range - Optional bias - Logs and totals12. Score Tracking
- Custom initial/additional/subtraction scores - Logs and totals13. Warp Game (Snake and Ladder variant) (Fun/Games)
- Score and lives system - Customizable initial score and life - Solo or multiplayer (hotseat, human or computer) - Customizable tile effects, dice, and field size - Local leaderboard14. Java Converter
- Convert `.java` files to `.txt` and vice versa - Batch conversion - Remembers last input/output location15. JSON Beautify and Compare
- Beautify and compare JSON files or pasted content - Syntax highlighting for differences - Remembers last file location16. Investment Contribute Calculator
- Calculate investments based on monthly/yearly contributions (including negative values) - Simple calculation model17. Investment Type Calculator
- Calculate investments based on type (stocks, bonds, portfolios, etc.) - Supports single/multiple income goals and investment types - Simple calculation model18. Nuclear Casualty Estimate Calculator
- Calculate the casualty based on nuclear warhead impact or radiation levels - Have option to enable/disable nuclear winter and humanitarian aid - The output result have some description and calculation result table - The calculation is only based on rough estimate and not reflect on real scientific calculation19. Cryptography tools
- Can encode/encrypt or decode/decrypt input text or text file with many cryptography methods - Almost all cryptography methods have descriptions - Can import and export the output result from/to text file1. Bejeweled/match-3 (Fun/Games)
- Planned application2. Sudoku (Fun/Games)
- Solver for blank or custom grids - Supports various grid sizes (2x2, 3x2, etc.)3. Memory Match (Fun/Games)
- Number/symbol-based memory match - Customizable field sizes and scoring - Solo or up to 8-player hotseatAny suggestions welcome!
This project uses a Jenkins-based CI/CD pipeline, as defined in the Jenkinsfile:
-
Build Automation:
- Recursively finds all Java files with a
public static void mainmethod. - Compiles each application with dependencies from the
libs/directory. - Packages each app as a
.jarin theout/directory.
- Recursively finds all Java files with a
-
Release Packaging:
- Collects all built
.jarfiles into arelease_package/directory. - Compresses the release package as a
.ziparchive.
- Collects all built
-
GitHub Release Automation:
- Automatically creates a new GitHub release for each build.
- Uploads the zipped release package to GitHub using the provided credentials.
-
Notifications:
- Sends email notifications on build success or failure.
Pipeline Highlights:
- Jenkinsfile is fully declarative and supports parallel builds.
- External dependencies are managed via the
libs/directory. - Release artifacts are versioned and published automatically.
This project is licensed under The Unlicense — public domain dedication.
You are free to:
- Clone, modify, distribute, and use this code for any purpose, commercial or non-commercial, without any restrictions.
No restrictions. No warranty.
See the LICENSE file for more details.
Contributions are very welcome!
- Fork this repository.
- Create a branch for your feature or fix.
- Make your changes and commit with clear messages.
- Open a Pull Request describing your changes.
- The maintainer will review and merge if everything looks good.
You can also open Issues for bugs, ideas, or questions.
Enjoy exploring these Java mini-projects!