Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cleilsonandrade/notifications-service

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.
https://github.com/cleilsonandrade/notifications-service

backend class-validator clean-architecture design-patterns messaging-services microservice nestjs nodejs notifications prisma sql sqlite

Last synced: 6 days ago
JSON representation

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.

Awesome Lists containing this project

README

        


Notifications Service


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

# 📒 Índice
* [Descrição](#descrição)
* [Requisitos Funcionais](#requisitos)
* [Tecnologias](#tecnologias)
* [Endpoints](#endpoints)
* [Instalação](#instalação)
* [Licença](#licença)

# 📃 Descrição
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**](https://nestjs.com/) com a clean architecture, com a adição de libs como [**Prisma ORM**](https://www.prisma.io/) para auxilio na manipulação dos dados para um banco de dados e [**Jest**](https://jestjs.io/pt-BR/) para a cobertura de testes.

# 📌 Requisitos Funcionais
- [x] Cadastrar notificação

- [x] Marcar notificação como lida

- [x] Marcar notificação como não lida

- [x] Listar todas as notificações de um usuário

- [x] Contar todas as notificações de um usuário

# 💻 Tecnologias
- **TypeScript**
- **NestJS**
- **Class Validation**
- **Prisma ORM**
- **Jest**

# 📍 Endpoints
| 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

# 🚀 Instalação
```bash
# 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
```

# 📝 Licença
Esse projeto está sob a licença MIT. Veja o arquivo [LICENSE](LICENSE) para mais detalhes.

---


Feito com 💜 by CleilsonAndrade