Skip to content

A console-based Java program that demonstrates OOP, recursion, and algorithmic techniques for organizational data management.

Notifications You must be signed in to change notification settings

egshiglen-henny/workforce-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

22 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿง  WorkforceCLI โ€” Employee Management System

Java Build Status

A command-line Java application that demonstrates Object-Oriented Programming (OOP), Recursion, and Algorithmic Thinking through a simulated company employee management system.
Designed to showcase sorting, searching, and structured data handling in a clean CLI environment.


โœจ Features

  • Add employees manually or generate random test data
  • Department and manager class hierarchy
  • Recursive insertion sort by name
  • Binary and linear search for employee lookup
  • Input validation and clean menu-driven navigation
  • CSV export for data persistence

๐Ÿงฉ Technologies

Tool Purpose
Java (JDK 17) Core programming language
NetBeans / VS Code Development environment
Ant Build automation
Git & GitHub Version control and portfolio hosting

๐Ÿ“ Project Structure

File / Folder Description
Employee.java Defines base employee attributes and methods
Manager.java Extends employee class with managerial fields
Department.java Represents company departments
DreamCompanyApp.java Main CLI entry point
applicant_data.csv Demo dataset used for testing
.gitignore Ignored build and IDE files
README.md Project documentation

๐Ÿงฎ Algorithms Implemented

Algorithm Type Purpose
Insertion Sort (Recursive) Sorting Sort employees alphabetically by name
Bubble Sort Sorting Compare performance with recursion
Binary Search (Iterative) Searching Fast employee name lookup
Linear Search Searching Baseline comparison for efficiency

๐Ÿง  Learning Highlights

  • Applying OOP concepts (Inheritance, Polymorphism, Encapsulation)
  • Implementing Recursive algorithms for sorting
  • Comparing algorithm efficiency and complexity
  • Managing and structuring data in a CLI Java application
  • Working with CSV I/O and validation logic

๐Ÿงช How to Run

๐ŸŸฃ Option 1: Using NetBeans

  1. Open NetBeans IDE
  2. Go to File โ†’ Open Project
  3. Select the project folder (WORKFORCE-CLI)
  4. Run DreamCompanyApp.java
  5. Follow the on-screen menu

๐ŸŸฆ Option 2: Using VS Code

  1. Open VS Code
  2. Install the Extension Pack for Java (from Microsoft)
  3. Open the WORKFORCE-CLI folder
  4. Open DreamCompanyApp.java
  5. Click the โ–ถ๏ธ Run button at the top-right corner
    or run manually via the VS Code terminal:
    javac -d bin src/workforce/*.java
    java -cp bin workforce.DreamCompanyApp
    

๐Ÿ–ฅ๏ธ Option 3: Using Command Line

javac -d bin src/workforce/*.java
java -cp bin workforce.DreamCompanyApp

๐Ÿ“ธ Screenshots/View of the CLI

๐Ÿ  Main Menu

Main Menu

โœ๏ธ Add Employee

Add a New Employee

Add New Employee

Add Random Employees

Add Random Employee

๐Ÿ” Search Employee

Search By Fullname

Search by Full Name

Search By Multiple Names

Search Multiple Names

Search By Role

Search by Role

๐Ÿ“‹ Sorted Employee Lists

Sort By Name

Sort by Name

Sort By Salary

Sort by Salary

Sort By Department

Sort by Department

โš ๏ธ Validation & Behavior

Validation

Validation Messages

Report & Behavior

Report Behavior

๐Ÿงพ Display All

Display All Employees


๐Ÿ† Future Improvements

  • Add data filtering by department or role
  • Implement JUnit tests for sorting and searching algorithms
  • Add JSON import/export support
  • Improve CLI visuals with color-coded menus

๐Ÿงฉ System Modelling & Build Report

UML Report Status

This report documents the full system design and UML modelling for the Workforce CLI Java Application (Dream Tech System).

๐Ÿ“˜ Contents

  • System Overview & Boundary Diagram
  • Five detailed Use Case Narratives & Diagrams
  • UML Class Diagram and Sequence Diagrams
  • User Stories and Acceptance Criteria
  • Unit Testing Scenarios linked to project source code

๐Ÿ“„ View Full Report (PDF)


๐Ÿ‘ฉโ€๐Ÿ’ป Author

Egshiglen Enkhbayar
๐Ÿ“ Dublin, Ireland
๐Ÿ”— GitHub | LinkedIn

About

A console-based Java program that demonstrates OOP, recursion, and algorithmic techniques for organizational data management.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages