The "mission" of this project is to create a modular monolith project to be used in the future as a template for other new projects. This includes evaluating different libraries which may help with creation and maintenance of such project.
My ambition is to also evaluate different ways of using the patterns used in this project when refactoring a non-modular legacy codebase.
- Solve problem of communication between modules (with and without Anti Corruption Layer)
- Assessing how to use such a template in legacy code
- Getting to know the Dependency Injection lib(s) (comparison with HAPS, which is used in the project I currently work in, mainly in terms of the alleged disadvantages of the "service locator")
- Solving the "cross-cutting concerns" problem (logging, transaction management, ...)
- Assessment of different ways to solve the problem of access rights to entities (different user roles)
- Assessing the benefits and drawbacks of mixing domain models with DB mapping and other non-"Clean Architecture" patterns
- Python 3.9 or higher
- pip-tools
- Clone the repository
- Run
pip-syncto install all dependencies