A backend-focused 10-project series to master Java OOP fundamentals through real-world systems — part of the Project10X learning method.
Academic Context: This project series is part of the formal curriculum for CSOP101 – Object-Oriented Programming.
This repository documents a progressive series of Java projects aimed at building deep, transferable backend skills through real-world systems.
Each project tackles a different OOP principle or design pattern and includes:
- Core object modeling and encapsulation
- Clean use of interfaces, abstract classes, and polymorphism
- Modular class structure and separation of concerns
- Stretch goals for file I/O, collections, exceptions, CLI tools, and simple services
Projects are designed to simulate real backend logic — not just academic exercises — with clear progression and reusable design patterns.
# | Project Name | Key Concepts Covered | Stack |
---|---|---|---|
1 | Personal Contact Manager | Encapsulation, class design, basic CLI I/O | Java SE + Scanner |
2 | Bank Account System | Inheritance, method overriding, basic transactions | Java SE |
3 | Library Management App | Composition, collections, object search/filtering | Java SE + ArrayList |
4 | Student Grading System | Interfaces, comparators, average calculations | Java SE + Collections |
5 | Task Tracker with File Logging | File I/O, abstraction, exception handling | Java IO + OOP |
6 | Budget Planner (OOP Version) | Polymorphism, abstract classes, simple simulation | Java SE |
7 | Inventory Manager | MVC architecture, separation of concerns | Java SE + Design Patterns |
8 | CLI ATM Simulator | State machine logic, input validation, error handling | Java SE |
9 | Recipe Organizer with Search | Object serialization, nested classes, text parsing | Java IO + Serialization |
10 | Expense Tracker (Modular App) | Full app structure, reusable modules, user stories | Java SE + MVC Pattern |
Each project is in its own folder with its own README.md
, setup steps, and walkthroughs.
- Java 17+
- Core OOP: Encapsulation, Inheritance, Polymorphism, Abstraction
- Interfaces and Abstract Classes
- Java Collections: List, Set, Map
- File I/O (BufferedReader, FileWriter)
- Basic Exception Handling and Logging
- Object Serialization and Deserialization
- CLI Design using Scanner and Text Menus
- Modular Design and Separation of Concerns
- Simple MVC Architecture Patterns
- Git and Version Control
Project10X-Java is a deep learning journey built to:
- Master object-oriented principles through practice and real examples
- Build backend-focused thinking using clean code and separation of concerns
- Develop transferable Java skills ready for Spring, Android, or backend APIs
- Learn to design full app logic without relying on frameworks or boilerplate
Each project includes:
- Setup instructions and how to run via terminal or IDE
- Explanation of OOP features used (with inline comments)
- Optional stretch goals for enhancements
- Suggestions for refactoring and extra features
- Minimal dependencies — built using plain Java SE
This repo is ideal for Java learners, backend-focused developers, or those preparing for technical interviews by mastering fundamentals.
This repository is open source under the MIT License.
Created and maintained by RM Villa.