A fun, easy-to-follow collection of Java mini projects to learn programming concepts through practice.
Each project focuses on one or more Java and OOP concepts so beginners can build skills step by step.
- Java basics: variables, data types, conditionals, loops
- OOP: classes, objects, inheritance, polymorphism, encapsulation
- File handling and collections (ArrayList,HashMap)
- Exception handling, input validation
- GUI development with Swing
- Networking and basic APIs
- Testing with JUnit
| Level | Project | Focus Concepts | 
|---|---|---|
| 🟩 Level 1 (Basics) | Calculator | Variables, methods, conditionals, input validation | 
| CurrencyConverter | Scanner, BigDecimal, formatting | |
| RandomPasswordGenerator | Strings, loops, randomness | |
| 🟨 Level 2 (OOP) | ToDoListApp | Classes, objects, ArrayList, encapsulation | 
| ExpenseTracker | Collections, file I/O, exceptions | |
| QuizApplication | Arrays, scoring, exception handling | |
| 🟥 Level 3 (Advanced OOP) | LibraryManagementSystem | Inheritance, polymorphism | 
| InventoryManagementSystem | Interfaces, composition | |
| TicTacToeGame | 2D arrays, logic, game loop | |
| 🟦 Level 4 (GUI & APIs) | BlogAppUsingSwing | GUI, MVC, event handling | 
| WeatherApp | JSON parsing, simple API integration | |
| ChatApplication | Threads, basic networking | 
Contributions are welcome! If you want to contribute to this project, please follow these guidelines:
- Star the repository ⭐
- Fork the repository.
- Create a branch: git checkout -b feature/your-feature-name.
- Pick any project folder in src/main/java/.
- Open its README.mdto understand:- What concept it teaches
- How to run it
- Practice tasks to try
 
- Make your changes and commit them: git commit -m 'Add some feature'.
- Push to the branch: git push origin feature/your-feature-name.
- Submit a pull request (Add a screenshot of the command line output of the project to the pull request message).
Thanks to all contributors for their valuable contributions to this project. ❤️💻🚀