Please go through all refactoring steps by switching branches:
- step-1: Separation of persistance layer from application
- step-2: Separation of presentation layer from application
- step-3: Unit tests of domain layer
- step-4: Creation of isolated application layer
- step-5: Dependency inversion between infrastructure and application layer to enable app unit testing