Architecture - mbaron93/cs690project_learningtracker GitHub Wiki
The architecture above allows the user to interact with a modular user interface in order to abstract the jobs in the background. The architecture allows different jobs to be handled with said variability. The User Interface class written features individual classes for each User Interface case that can be modified or swapped out if the options change.
In the background, a data manager loads and processes data into an accessible form. While a server would exist in many applications, the local nature of this project led me to use CSV files to organize data. The data handler reads in CSV files and turns them into printable forms that user interface can access. It also allows the CSV files to be added to or edited when the user interface passes new data or edits data.
The report manager has access to the data managers files. It can use this to process the held collections of goals and sources of data and also provides this summary information to the user interface, depending on what is requested.