Generates customer risk assessments (CRAs)
For this project I hope to implement Domain Driven Design architecture and SOLID principles. The scripts generate risk assessments for each customer based on their identity and trade data. Data is currently stored in CSV files but will eventually be migrated onto a database.
All the system currently does is run tests that instantiate Customers from the CSV rows and then injects each Customer's historic trades into their $trades property.
Properties represent the identity data for each customer. They are also assigned an array of their Trades and their Risk Assessments. Their risk assessments will eventually be viewable via HTML generated by the UserInterface Layer.
Properties represent transcational data. Each trade contains its corresponding Payment.
Mapped from the transaction data of each payment.
A series of risk scores generated for each customer from all of the above data.
Within each domain the BusinessLogic folder contains the model class, its factory, and any "horizontal" cross-domain services for the models to interact with other models (e.g. The FetchCustomerTradesService represents the Customer domain interacting with the Trade domain).
Classes for user interactions and any services for interacting with the BusinessLogic core. This includes the generator of HTML representations of each customer's risk assessment/scores.
Classes for reading/writing from the CSV files and any services for interacting with the BusinessLogic core. Currently this includes a DTO class and adapters for converting data in different CSVs into a universal DTO that is used to build the BusinessLogic layer's model properties. Currently adapters are injected into a systemwide ("infrastructure", see below) DataAccessService class, which is perhaps better repackaged as a repository?
Contains a test service file for testing the domain's classes and methods.
This folder contains any "horizontal" cross-domain / systemwide interfaces or services that are not restricted to a single domain.