Re-architecture - Domain Models, Database Mappers, and Repositories
- Completely reorganized folder structure across the entire project. Have also renamed various folders above source such as
api_documentation
andweb_ui
to be more user friendly - Majority of
data_storage
classes converted intodata_mappers
, with most domain complexity, validation, and other operations moved out. - Created Repositories for the major data/domain objects. The repositories contain all the validation logic as well as allowing the user to communicate with the mappers.
- Subsumed all
filter
classes into the Repositories - Created multiple new middlewares for the express.js server
- Converted the majority of hard types to domain classes
- Modified tests to include a cleanup step
- Converted Data Source and Exporter repositories into easier to maintain factory/interface pattern
Motivation and Context
In order to sustain this project over the long term we needed to adopt a different set of design patterns. This was prompted by the upcoming "versioning" feature as well as various discussions regarding project support and longevity.