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.
- 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
| Tool | Purpose |
|---|---|
| Java (JDK 17) | Core programming language |
| NetBeans / VS Code | Development environment |
| Ant | Build automation |
| Git & GitHub | Version control and portfolio hosting |
| 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 |
| 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 |
- 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
- Open NetBeans IDE
- Go to File โ Open Project
- Select the project folder (
WORKFORCE-CLI) - Run
DreamCompanyApp.java - Follow the on-screen menu
- Open VS Code
- Install the Extension Pack for Java (from Microsoft)
- Open the
WORKFORCE-CLIfolder - Open
DreamCompanyApp.java - 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
javac -d bin src/workforce/*.java
java -cp bin workforce.DreamCompanyApp- 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
This report documents the full system design and UML modelling for the Workforce CLI Java Application (Dream Tech System).
- 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
Egshiglen Enkhbayar
๐ Dublin, Ireland
๐ GitHub | LinkedIn











