22/23 Object Oriented Programming class project at IST.
CLI for a network of terminals which the client can use to communicate with other clients. There are Basic and Fancy terminals which support different types of communications.
Terminals have multiple states (idle, silent, off and busy) and if a terminal receives a communication attempt while in a non ideal state, its client will receive a notification for that missed communication.
The cost for each communication is calculated based on the current price table and depends on the type of the communication and on the client statute.
Large focus on OOP design patterns.