Skip to content

A backend-focused 10-project series to master Java OOP fundamentals through real-world systems — part of the Project10X learning method. Developed as part of the academic curriculum for CSOP101 (Object-Oriented Programming).

Notifications You must be signed in to change notification settings

eigenlambda123/Project10X-Java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

Project10X: Java

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.


Overview

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.


Projects Included

# 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.


Skills and Technologies

  • 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

Purpose

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

Usage

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.


License

This repository is open source under the MIT License.


Created and maintained by RM Villa.

About

A backend-focused 10-project series to master Java OOP fundamentals through real-world systems — part of the Project10X learning method. Developed as part of the academic curriculum for CSOP101 (Object-Oriented Programming).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published