s-kostyuk / everpl

The Everthing Platfrom source code
https://everpl.readthedocs.io/
MIT License
0 stars 1 forks source link

Refactor: Implement classic architecture with Repos and Services #32

Closed s-kostyuk closed 6 years ago

s-kostyuk commented 6 years ago

Looks like we need to switch from current home-brew architecture to almost classical architecture with separate Repositories and Services.

For now the functionality of Services is entrusted to such entity as "ApiGateway". It control almost everything related to the of processing requests coming into different API implementations (like RestApi implementation). There is no separation of responsibilities between services based on functionality and a set of related objects.

The functionality of Repositories is entrusted to PlacementManager and BindingManager. Those two managers store and control access to Placements (the first one), Connections and Things (second one). Also they perform a small subset of functions usually entrusted to services like enabling and disabling of Things.

The last aspect to consider is a possibility to switch to Redis, SQLite or other lightweight databases for storing of persistent data (like settings of Things and Connections, like a set of Placements and Users and so on).


Considering all mentioned information, to facilitate further development of the platform, the following decision was made:

s-kostyuk commented 6 years ago

Blocked by #33

s-kostyuk commented 6 years ago

Added 3 new tasks to the list:

s-kostyuk commented 6 years ago

Reversal for a one of subtasks - see issue #30 to track further progress:

s-kostyuk commented 6 years ago

Closed one subtask - for now everything depends on further implementation of User Management in the next release:

s-kostyuk commented 6 years ago

All subtasks finished. Closing this issue for now.

Additional issues to monitor: