Open gcharest opened 6 months ago
Actually, this is pretty much the architecture I'd like to be able to achieve:
Additionally, we could introduce health checks at integration level so that we can more easily manage the possible errors
Had a look and I like the architecture you've proposed! My only comment would be around the test
structure. How would you feel about moving the api
tests under the root test folder so you ended up with:
├── tests # Unit tests
│ ├── __init__.py
│ ├── test_commands.py
│ ├── test_events.py
│ ├── test_middleware.py
│ ├── test_utils.py
│ ├── api # Tests for the APIs
│ │ ├── __init__.py
│ │ ├── test_auth.py
│ │ ├── test_geolocation.py
│ │ └── test_utils.py
│ ├── plugins # Tests for plugins
│ │ ├── test_plugin1.py
│ │ ├── test_plugin2.py
│ │ └── ...
│ └── integrations # Tests for integrations
│ ├── test_service1.py
│ ├── test_service2.py
│ └── ...
Would just keep all the tests nice and grouped in one spot.
In order to make the management of the bot easier and more scalable in terms of feature development, a project refactoring might be beneficial.
Proposed future state: