https://github.com/kevindasilvas/notifications
Notifications is a push notifications app built with broadway, phoenix and phoenix channels
https://github.com/kevindasilvas/notifications
broadway couchdb elixir elixir-lang phoenix phoenix-framework rabbitmq
Last synced: 6 months ago
JSON representation
Notifications is a push notifications app built with broadway, phoenix and phoenix channels
- Host: GitHub
- URL: https://github.com/kevindasilvas/notifications
- Owner: KevinDaSilvaS
- Created: 2022-07-16T23:54:30.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-02-26T23:24:18.000Z (over 2 years ago)
- Last Synced: 2025-02-04T13:19:29.070Z (8 months ago)
- Topics: broadway, couchdb, elixir, elixir-lang, phoenix, phoenix-framework, rabbitmq
- Language: Elixir
- Homepage:
- Size: 72.3 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Notifications
## About
Notifications is a push notifications microservice that uses broadway to receive notifications and broadcasts then trough phoenix channels and also saves then on couchdb.
Also notifications is a substitution of [`notifier`](https://github.com/KevinDaSilvaS/notifier) that has the same purpose, but the notifications is way more tested, more bug prone and uses broadway to process messages instead of amqp library## How to run
There's two ways of running the application, the easier and simplest way is by using the docker-compose file, by just running:```
docker-compose up --build
```Or by cloning and running manually
To start your Phoenix server:
* Install dependencies with `mix deps.get`
* Start Phoenix endpoint with `mix phx.server` or inside IEx with `iex -S mix phx.server`Now you can visit [`localhost:4000/api/notifications/${topic}`](http://localhost:4000/api/notifications/topic) from your browser.
Or pushing a notification on rabbitmq:
```
{
"topic": "12345",
"title": "a notification title",
"message": "a notification message",
"redirect": "myapp.com/stuff-on-sale"
}
```