messengers (sending messages and receiving updates):
vk
tg
Communication between services is done through gRPC. For that there is a proto folder with .proto declarations and generated go code.
To avoid unnecessary code duplication, baseMessenger was extracted into a separate module in src/messenger and imported in each messenger.
Most of the old code was not modified (only moved), but some changes outside of the communication part were made to improve the code and facilitate this switch to the new architecture.
Split project into following microservices:
Communication between services is done through gRPC. For that there is a proto folder with .proto declarations and generated go code.
To avoid unnecessary code duplication, baseMessenger was extracted into a separate module in src/messenger and imported in each messenger.
Most of the old code was not modified (only moved), but some changes outside of the communication part were made to improve the code and facilitate this switch to the new architecture.