Topics: OOP Abstraction, OOP Encapsulation, and OOP Inheritance
Subtopics: SOLID Principle
Before you start, make sure you fulfilled the following exercise prequisites:
- Installed Node.js
- (Optional) Installed ts-node globally (via npm i -g ts-node)
If all prequisites are fulfilled, execute npm i
on project root directory
Execute npm run test
to see all project task
Student must reach 100% on all unit test
You are contacted by Paradis Company to create a cli worker management software written in Typescript.
The previous programmer have left pieces of broken and messy code.
Luckily, he is not a devil, he had left behind interfaces for the classes and object that will be created, yet still imperfect.
Rod Reiss, speaking as the founder and current president of Paradis Company, have told you what he needed from the software:
- It can create new worker as an instance of Resource Class
- It can create company leader which can be inserted to a instance of Company Class
- Company can add, modify, and remove worker
- It also have checking for invalid values such as inexisting workers or possible duplication
- It can display total workers currently available, and also display all the worker's credential and status in the company
- It can change leader type
As a trainee of Siotics Polaris Software Division, you have to fullfiled all of Rod Reiss's request to show that you are a capable Software Engineer