Remove Nest
There's some issues regarding nestjs that isn't easily solvable.
Problem 1: Fastify
Fasify would make this API much faster and use slightly less resources. The problem: Passport. We heavily rely on passport for authorization, so this makes it not viable without major reshuffling or using another package (notably fasitfy-passport)
Problem 2: Speed
We duplicate a lot of code. Serialization, contracts and container are all repeated. This results in a lot more connections to mongodb and some heavy packages. It also prevents us from using swc or tsup in #135.
Problem 3: Unified structure
There's a lot more going on with nest than I imagined, and having DI, while great, isn't really what is needed- it's performance. API could get hit often with a variety of things, and thus performance should be the next focus.
Overall, nest brings great DX but it suffers with the package ecosystem it has.
This also should help resolve issues with the dashboard being dirt slow.
Remove Nest There's some issues regarding nestjs that isn't easily solvable.
Problem 1: Fastify Fasify would make this API much faster and use slightly less resources. The problem: Passport. We heavily rely on passport for authorization, so this makes it not viable without major reshuffling or using another package (notably fasitfy-passport)
Problem 2: Speed We duplicate a lot of code. Serialization, contracts and
container
are all repeated. This results in a lot more connections to mongodb and some heavy packages. It also prevents us from using swc or tsup in #135.Problem 3: Unified structure There's a lot more going on with nest than I imagined, and having DI, while great, isn't really what is needed- it's performance. API could get hit often with a variety of things, and thus performance should be the next focus.
Overall, nest brings great DX but it suffers with the package ecosystem it has.
This also should help resolve issues with the dashboard being dirt slow.