Skip to content

Latest commit

 

History

History
68 lines (56 loc) · 2.66 KB

README.md

File metadata and controls

68 lines (56 loc) · 2.66 KB

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