Skip to content

DebuggingPrakhar/Java-fundamentals-projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

17 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ JAVA FUNDAMENTALS PROEJCTS

Object-Oriented Programming & System Design

Welcome to my Java development hub! This repository is a curated collection of projects designed to master Clean Code principles, Data Structures, and Robust Error Handling. From logic-based games to payroll management, these applications showcase a journey from procedural syntax to advanced Object-Oriented Design.


πŸ› οΈ TECH STACK & TOOLS

  • Language: Java (JDK 11+)
  • Development Environments: IntelliJ IDEA, BlueJ, VS Code
  • Version Control: Git & GitHub
  • Core Concepts: Abstraction, Polymorphism, Custom Exception Handling, File I/O

πŸ“‚ FEATURED PROJECTS

A professional management tool built to handle complex corporate structures using Inheritance and Abstraction.

  • Key Functionality: Manages a database of Full-Time and Part-Time employees with automated salary calculations.
  • Technical Highlight: Uses an abstract class Employee as a blueprint to ensure modularity and scalability.
  • Core Logic: Implements Polymorphism to calculate distinct pay scales (Monthly vs. Hourly) through method overriding.

An interactive CLI application focused on User Experience and Resilient Input Validation.

  • Key Functionality: A multi-round logic game with proximity-based hints and session management.
  • Technical Highlight: Implements a custom NotValidException class to prevent application crashes during invalid user input.
  • Persistence: Features a session-continue prompt every 5 guesses while maintaining a total "lifetime" guess counter.

πŸ› οΈ ARCHITECTURAL CONCEPTS MASTERED

Concept Implementation in this Repo
Encapsulation Protecting data integrity using private fields and public accessors (Getters/Setters).
Inheritance Building hierarchical relationships between Employee types to reduce code redundancy.
Polymorphism Overriding base methods to provide specific logic for different employee categories.
Error Handling Using try-catch blocks and custom Exceptions to create crash-proof software.

Developing this portfolio allowed me to bridge the gap between "learning a language" and "building a system."

  1. Code Readability: Moving away from "magic numbers" toward descriptive variable names.
  2. Modularity: Separating "Game Logic" from "Driver Classes" to make code reusable.
  3. User-Centric Design: Anticipating user errors (like entering text when a number is required) and handling them gracefully.

πŸ“œ LICENSE

This project is open-source and available under the GNU General Public License v3.0.



About

"A collection of Java projects demonstrating OOP principles, custom exception handling, and management system logic.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages