Notifications Service é um serviço de mensageira que permite criar notificações, marcar como lida e nao lida, listar e contabilizar mensagens de um usuário. Desenvolvido com o framework NestJS com a clean architecture.
![Flow](https://raw.githubusercontent.com/CleilsonAndrade/notifications-service/master/./references/flow.png)
Notifications Service é um serviço de mensageira que permite criar notificações, marcar como lida e nao lida, listar e contabilizar mensagens de um usuário. Desenvolvido com o framework NestJS com a clean architecture, com a adição de libs como Prisma ORM para auxilio na manipulação dos dados para um banco de dados e Jest para a cobertura de testes.
- Cadastrar notificação
- Marcar notificação como lida
- Marcar notificação como não lida
- Listar todas as notificações de um usuário
- Contar todas as notificações de um usuário
- TypeScript
- NestJS
- Class Validation
- Prisma ORM
- Jest
Método | Endpoint | Resumo |
---|---|---|
POST | /notification | Responsável por cadastrar notificação |
PATCH | /notification/:id/read | Responsável por marcar notificação como lida, informando o ID |
PATCH | /notification/:id/unread | Responsável por marcar notificação como não lida, informando o ID |
GET | /notification/count/from/:recipientId | Responsável por listar todas as notificações pelo ID do usuário |
GET | /notification/from/:recipientId | Responsável por contar todas as notificações pelo ID do usuário |
# Clone este repositório:
$ git clone https://github.com/CleilsonAndrade/notifications-service.git
$ cd ./notifications-service
# Instalar as dependências:
$ yarn install
# Gerar o código TypeScript com base nos modelos do Prisma:
$ npx prisma generate
# Aplicar migrações ao banco de dados:
$ npx prisma migrate dev
# Executar:
$ yarn start:dev
# Executar testes:
$ yarn test:watch
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Feito com 💜 by CleilsonAndrade