Impactworkers / iw-complaint-manager

Impactworkers Complaint Manager
1 stars 0 forks source link

Investigate Nestjs #33

Closed faraakhatTW closed 1 month ago

faraakhatTW commented 1 month ago

take a look at NestJS and make a decision about using it or not in the Complaint Manager 2.0 MVP.

faraakhatTW commented 1 month ago

What is NestJS?

Nest (NestJS) is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with and fully supports TypeScript (yet still enables developers to code in pure JavaScript) and combines elements of OOP (Object Oriented Programming), FP (Functional Programming), and FRP (Functional Reactive Programming).

Under the hood, Nest makes use of robust HTTP Server frameworks like Express (the default) and optionally can be configured to use Fastify as well!

Nest provides a level of abstraction above these common Node.js frameworks (Express/Fastify), but also exposes their APIs directly to the developer. This gives developers the freedom to use the myriad of third-party modules which are available for the underlying platform.

Reference

Other than the documentation, I also took a look at these samples of implementations.

Should we use it for MVP?

  • [ ] Yes
  • [x] No

Given that NestJS adds a abstraction layer on top of Express (which we were planning to use to begin with), I decided to suggest for the team to not use NestJS for the MVP because it adds complexity to the project. Also since NestJS is an opinionated package, it would require the project to be structured following their point of view.

Originally posted by @heliofreitastw in #520