Architecture Overview
Stack (from low to high)
- config
- logger
- models
- plugins
- services
- api / cli
Rules
- Higher layer calls lower layer, not the other way around
- Whenever lower layer neeeds something from higher layer, a interface should be introduced for decoupling
- Components should be initialized in a low to high order during bootstraping