Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/cleilsonandrade/notifications-service
- Owner: CleilsonAndrade
- License: mit
- Created: 2023-09-28T18:58:22.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-08-19T17:11:11.000Z (3 months ago)
- Last Synced: 2024-08-20T19:45:41.088Z (3 months ago)
- Topics: backend, class-validator, clean-architecture, design-patterns, messaging-services, microservice, nestjs, nodejs, notifications, prisma, sql, sqlite
- Language: TypeScript
- Homepage:
- Size: 238 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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.
# 📒 Í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