Sending notifications to your users supporting different messages languages and different sending interfaces such as push notifications, sms, webhook.
- install golang
- start a mongo instance locally
- install kafka
- run the app
$ make generate $ make build $ ./bin/app
- make sure that you have docker, docker-compose installed
- run
$ docker-compose up
Use this file content and paste it inside this viewer
- Create a message through the API
- Publish a message into the
notifications
topic with the expected payload (type, to, language), make sure that the type and language match a message you already created in order to complete the whole cycle - if the type is webhook, you will get a message over that webhook, otherwise are dummy adapter the consumer will consume the message and ignore it.
Or
You can run the test/test.go that would do all of that to you.
- Add a message
- Consume notification
- Send notifications (webhook type)
- Add Light size integration test
- Update a message
- Query messages
- Add unit tests
- Handle message with templates keys
- Add HTTP logger
- Add CI/CD to run the test/test file after every commit (almost done)
- Add a circuit breaker over the third party notifications sender providers
More details in design document