Microserviço de notificações da rede social Panela
- TypeScript 97.7%
- JavaScript 1.2%
- Dockerfile 1.1%
| deploy | ||
| src | ||
| .gitignore | ||
| .dockerignore | ||
| .env.example | ||
| .eslintrc.json | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| docker-compose.dev.yml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| eslint.config.mjs | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| server.ts | ||
| tsconfig.json | ||
Panela Notificações API
Microserviço de notificações da rede social Panela Documentação online em https://panela-gateway.app.fslab.dev/notificacoes/docs/
Como enviar notificações via fila:
- Conecte-se ao RabbitMQ.
- Publique uma mensagem na fila
panela-notificacoesdo RabbitMQ com o seguinte formato JSON:
{
"username": "usuario",
"title": "Nova mensagem",
"username_photo": "usuario",
"type": "info",
"description": "Joãozinho enviou uma nova mensagem para você: Olá, tudo bem? eu ...",
"extra": {
"resource": "chat",
"username": "joaozinho"
}
}
Detalhamento:
username*: Nome do usuário que receberá a notificação.title*: Título da notificação.username_photo: (opcional) Nome do usuário para buscar a foto associada a ser exibida na listagem.type: (opcional) Tipo da notificação (ex: "info", "alerta", etc.).description: (opcional) Descrição detalhada da notificação.extra: (opcional) Objeto JSON com informações adicionais para que o front-end possa utilizar.
Extra:
O campo extra define o que irá acontecer quando a notificação for clicada no front. Alguns exemplos de uso:
- Para abrir um chat:
"extra": { "resource": "chat", "username": "joaozinho" } - Para abrir em uma postagem:
"extra": { "resource": "postagem", "id": "1234567890abcdef" } - Para abrir em um perfil de usuário:
"extra": { "resource": "perfil", "username": "maria" }
- A notificação será criada e armazenada no banco de dados, e o usuário poderá visualizá-la no front.
Você pode listar as notificações do usuário autenticado na rota GET
/notificationsdo microserviço.