1-Design an Accounting System
The goal of this exercise is to design the classes and methods (Models and Services) required for an invoicing system for IT companies. Following is the requirements
Design Classes, Properties, and Methods for the following requirements (No code is required here)
Company has multiple customers
Customers have one or more projects that are being executed by the company
Each project can be run in one of two billing modes
Time & Material – Hours are logged by people working on the project and client is billed based on a fixed rate by the hour
Milestone Based – Project has milestones and clients are billed a fixed amount when a milestone is completed
System should have the ability to generate invoices for customers and email them to customers at the end of every month .