Large-scale refactoring across codebase
Dec 2016 – Jan 2019
- Identify areas of code to refactor ,remove dead code and create a clean API with minimum dependencies to enable ability to switch individual components of the application.
- Ability to switch components allows for integration into newer applications.
- Update unit tests and ensure that existing regressions pass with refactoring.
- Apply clean architecture and SOLID principles especially dependency inversion principle.