Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/matinghanbari/notificationservice
The NotificationService is a standalone microservice in .NET8 that handles notification management and delivery. It consumes events from a message bus, decoupling it from other services for scalability and resilience.
https://github.com/matinghanbari/notificationservice
dotnet event-driven grpc layered-architecture microservice rabbitmq serilog tdd
Last synced: about 1 month ago
JSON representation
The NotificationService is a standalone microservice in .NET8 that handles notification management and delivery. It consumes events from a message bus, decoupling it from other services for scalability and resilience.
- Host: GitHub
- URL: https://github.com/matinghanbari/notificationservice
- Owner: MatinGhanbari
- License: mit
- Created: 2024-03-24T06:08:29.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-03-30T06:56:54.000Z (10 months ago)
- Last Synced: 2024-03-30T07:38:14.596Z (10 months ago)
- Topics: dotnet, event-driven, grpc, layered-architecture, microservice, rabbitmq, serilog, tdd
- Language: C#
- Homepage:
- Size: 41 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: contributing.md
- License: LICENSE
Awesome Lists containing this project
README
![Logo](https://blog.postman.com/wp-content/uploads/2023/11/What-is-gRPC_.jpg)
# NotificationService
The NotificationService is a standalone microservice that handles notification management and delivery. It consumes events from a message bus and uses gRPC to send the notification to gRPC clients, which are likely notification-handling applications.
## Acknowledgements
- [gRPC](https://grpc.io/docs/what-is-grpc/core-concepts)
- [Event-Driven Architecture]()
- [RabbitMQ](https://www.rabbitmq.com/)## Deploy
To deploy service on docker run this line of code:
```bash
$ docker-compose up --build
```## How to use
GRPC URL: ```grpc://localhost:8081```
Proto: [NotificationProto](notification.proto)
After connecting to grpc you can publish events in rabbitmq bus and see results.
### RabbitMQ
RabbitMQ dashboard: http://localhost:15672/### Test Notification Event
```json
{
"Title": "Hello World!",
"Description": "This message is from MatinGhanbari",
"DateTime": "2022-10-07T15:30:45.1234567Z",
}
```
## License[MIT](https://choosealicense.com/licenses/mit/)
## Authors
- [@MatinGhanbari](https://www.github.com/MatinGhanbari)
## Contributing
Contributions are always welcome!
See `contributing.md` for ways to get started.
Please adhere to this project's `code of conduct`.