Microserviço de notificações da rede social Panela
  • TypeScript 97.7%
  • JavaScript 1.2%
  • Dockerfile 1.1%
Find a file
2025-10-02 15:50:02 -04:00
deploy Adicionado preferências de notificação, adicionado envio de email, criado template 2025-10-02 15:50:02 -04:00
src Adicionado preferências de notificação, adicionado envio de email, criado template 2025-10-02 15:50:02 -04:00
.gitignore feature: Feito o docker-compose do DB em MONGO 2024-12-02 21:59:43 -04:00
.dockerignore Realizado adequações para rodar via docker e atrás do API Gateway 2024-12-16 10:07:12 -04:00
.env.example Adicionado preferências de notificação, adicionado envio de email, criado template 2025-10-02 15:50:02 -04:00
.eslintrc.json configurando eslint 2024-12-03 10:55:50 -04:00
.gitignore fazendo configuração inicial da api 2024-12-02 22:35:12 -04:00
.gitlab-ci.yml Configurado CI/CD 2025-09-19 20:46:08 -04:00
docker-compose.dev.yml Corrigido configuração tsc e docker-compose para ser possível executar 2025-03-13 10:33:54 -04:00
docker-compose.yml Corrigido configuração tsc e docker-compose para ser possível executar 2025-03-13 10:33:54 -04:00
Dockerfile Atualizado serviço notificações para funcionar melhor (Ainda não está pronto isso) 2025-10-01 17:04:21 -04:00
eslint.config.mjs Atualizado serviço notificações para funcionar melhor (Ainda não está pronto isso) 2025-10-01 17:04:21 -04:00
package-lock.json Adicionado documentação, finalizado adaptações 2025-10-02 11:31:09 -04:00
package.json Adicionado documentação, finalizado adaptações 2025-10-02 11:31:09 -04:00
README.md Adicionado documentação, finalizado adaptações 2025-10-02 11:31:09 -04:00
server.ts Refeito o projeto inteiro praticamente. Agora funciona 2025-10-01 23:58:52 -04:00
tsconfig.json Refeito o projeto inteiro praticamente. Agora funciona 2025-10-01 23:58:52 -04:00

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:

  1. Conecte-se ao RabbitMQ.
  2. Publique uma mensagem na fila panela-notificacoes do 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"
    }
    
  1. 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 /notifications do microserviço.