Skip to content

Uma API feita com NestJS e Prisma que simula um sistema de notificações, gerenciando informações de notificações por meio de endpoints, sem realmente enviá-las. O propósito é controlar o histórico das notificações, servindo como um projeto de refinamento de habilidades e demonstração de skills.

Notifications You must be signed in to change notification settings

dehsilvadeveloper/nestjs-notification

Repository files navigation

Nest Logo

NestJS Notification 🔥 🚀

This is a NestJS v9.x api to emulate a notification system, manipulating the notifications data through defined endpoints. No real notifications are dispatched, the application is just for controlling the notifications history.

The project was created for refinement of NestJS knowledge. It also work as a skills showcase.

Build with

Name Version
NestJs v9.x
NodeJs v19.8.x +
Typescript v4.7.x +
NPM v9.5.x +
Prisma v4.15.x +
Docker v20.10.x
Docker Compose v3.8.x
Redis v6.2.x
Mysql v8.0.x
Postgresql v12.x
MongoDB v3.2.x

Objectives

  • Use a Dockerized environment
  • Use concepts of Repository Pattern
  • Use concepts of SOLID
  • Use concepts of Clean Architecture
  • Use Prisma for database modelling and migration
  • Use Data Transfer Objects (DTOs) to transport groups of data between the application layers and to validate input data
  • Create tests for the application using JEST

Docs

Next Todo

Next development actions

  • Adjust dependencies import (tsconfig paths not working properly in jest tests)
  • Implement mappers (from Prisma to Entity, from Entity to Prisma)
  • Implement view models on the http layer
  • Implement create notification flow (controller, use-case, etc)
  • Implement cancel notification flow (controller, use-case, etc)
  • Implement read notification flow (controller, use-case, etc)
  • Implement unread notification flow (controller, use-case, etc)
  • Implement recipient received notifications count flow (controller, use-case, etc)
  • Implement recipient received notifications list flow (controller, use-case, etc)
  • Implement list all notifications flow (controller, use-case, etc)
  • Implement get specific notification flow (controller, use-case, etc)
  • Adding api name and api version to the endpoints
  • Create and apply configurations files (Application, Api, Database, Redis)
  • Saving counter of sent notifications on Redis
  • Saving counter of read notifications on Redis
  • Adjust jest tests for better performance
  • Implement health check route
  • Finish documentation

About

Uma API feita com NestJS e Prisma que simula um sistema de notificações, gerenciando informações de notificações por meio de endpoints, sem realmente enviá-las. O propósito é controlar o histórico das notificações, servindo como um projeto de refinamento de habilidades e demonstração de skills.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published