A collection of mini Java projects — each on its own branch, fork-able independently.
This repository is a collection of small, self-contained Java projects.
Every project lives on its own branch as a single folder.
The main branch is the aggregate — it contains all projects side by side.
Why this structure?
- Fork only what you need — browse to a project branch, fork it, done.
- Work independently — each project has its own branch, its own lifecycle.
- Clean merges — project branches only add a folder, so merges never conflict.
- Discoverable —
mainshows everything at a glance.
Full rules are in STRUCTURE.md.
| Project | Branch | Description | Language |
|---|---|---|---|
| PlayQuiz | j-play-quiz |
A 78-question console Java quiz with smart input handling | Java 21 |
More coming soon.
Fork the main branch — you get all projects.
- Switch to the project's branch (e.g.,
j-play-quiz) - Click Fork on GitHub
- You now have only that project — no extra baggage
Option A — Clone the whole repo:
git clone https://github.com/dipsana/java-mini-projects.git
cd java-mini-projects
git checkout j-play-quiz # switch to the project you wantOption B — Clone only one project:
git clone -b j-play-quiz https://github.com/dipsana/java-mini-projects.git j-play-quiz
cd j-play-quiz
cd PlayQuizEach project has its own README.md and documents with build instructions. For example:
cd PlayQuiz
# Follow the instructions in PlayQuiz/README.mdjava-mini-projects/
│
├── .github
│ └── workflows/build-playquiz.yml → github action to build pre-built executables
│
├── main branch → all projects as folders
│ ├── LICENSE (this file's sibling — root license)
│ ├── README.md (you are here)
│ ├── STRUCTURE.md (rules of the pattern)
│ ├── PlayQuiz/
│ └── ...
│
├── empty branch (new) → locked template (empty)
│
├── j-play-quiz branch → PlayQuiz/
│
└── j-<project> branches → one per project
- Root
LICENSE— covers the repository structure, README, and project manager (when added). - Each project's
LICENSE— covers that project's code. They may differ.
See the LICENSE file inside each project for its specific terms.
This is primarily a personal learning collection, but feedback is welcome.
- Found a bug in a project? Open an issue on that project's branch.
- Have a suggestion? Start a discussion.
- Want to use the pattern for your own repo? Fork freely.
The branch-per-project structure was designed as a modular alternative to traditional monorepos. It trades a bit of familiarity for cleaner forks, independent project lifecycles, and conflict-free merges.
Enjoy exploring.
— Dipsana