The goal of the project is to create a reusable and extensible toolset which allows for communication/integration to various forums/social chatboxes/social networks and more... Think of slack, MS Teams, Facebook Messenger, Discord, and more...
According to [Wikipedia](https://en.wikipedia.org/wiki/Pheme "Wikipedia on Pheme"), the goddess Pheme (aka Fama, Ossa) was described as "she who initiates and furthers communication". Pheme was said to have pried into the affairs of mortals and gods, then repeated what she learned, starting off at first with just a dull whisper, but repeating it louder each time, until everyone knew. In art, she was usually depicted with wings and a trumpet.
The structure is a simple one. Each application has it's own needs for sending notifications or messages, so I'm making no assumptions there. In interface of IMessage
is the most abstract form there (the examples explore a minimal worked out example with a concrete Message
class). When an IMessage
is created it gets send to an ITarget
which accepts a specific message and IMessageConverter
- the converter makes sure there's a mapping between the shared IMessage
and a concrere proprietary format the integration needs (e.g. the json format of slack, or the json format of teams). The rest is in the examples is .NET boiler plate code for bootstrapping and shows how one can expland IServiceCollection
and IConfigurationBuilder
so the consumer doesn't need to know all the necessary details.
Feel free to fork and/or send a pull request for features. Or simply hit the issues tab to report an issue or request a feature. Suggestions and perfections in design issues are always welcome.