You could use an in-memory cache like Redis to persist data in memory. The information probably belongs in the database though. What you consider ephemeral information today might be useful at a later date (e.g. users want to view their conferencing history).
Hey there, I wrote the TypeORM comparison page you've shared. First, great to hear that it did help convince you to use Prisma! Second, it definitely wasn't my intention to diminish TypeORM – so I'd love to learn if there were specific parts on that page that felt like they were degrading TypeORM. If that's the case, I'll make an effort to improve these!
Working at Prisma, I obviously want our tools to succeed and am personally convinced that Prisma is the best tool for most use cases application developers have. However, it is definitely not my intention to depreciate other tools along the way but rather want to help people get a good overview of the capabilities of each!
You can integrate the FireBase admin SDK into your Nest App. If you also want to deploy cloud functions using NestJS there is a great video on YouTube by Fireship showing how to do so ;3 You can also use the instructions for the admin SDK to implement it in your existing Nest App.
Obviously I don't know about your budget but you can probably run all that on DigitalOcean for 10 bucks a month. Don't use their hosted dbs, just use a droplet with CapRover pre-installed, it's kinda like hosting your own heroku, based on docker swarm.
If you go for that route, please use my referral link :)
Typically interfaces are the models. In Angular, it is even standard convention to name interface files in the format "thing.model.ts" and put them in a "models" directory. Concrete classes for models are bad form because they usually end up as bloated, do-everything "Business Objects" that cause lots of side-effects. Objects conforming to interfaces can be used immediately, while Business Objects must be instantiated before use. Business Objects expose functionality that should not always be exposed (your view template should not be able to call the user.delete() method). Simple objects are also easier to serialize/deserialize for the purposes of client-side state management (e.g. Redux).
It's not normally a problem that interfaces don't exist at runtime. If you need to confirm an object type, you can use type guards. If you need an implementation for a specific purpose, you can still do that. Otherwise: If your logic is in services/resolvers instead of Business Objects, classes do nothing but add file size to the bundle.
I avoid NoSQL, so I'm afraid I can't help you with the Mongo question.
prisma 2 is not yet production ready. However, what I read in the prisma slack channel they are planning on releasing a stable version of the prisma-client-js in Q1 of 2020.
I can also understand the frustation about discontinued services from prisma such as Graphcool and prisma 1.
I have the feeling prisma2 is going in the correct direction and hope it is here to stay for a long time with new improvements and features ahead.
I just checked TypeORM's Open Collective budget. They have over a year of budget still in the account! This indicates that they have enough money and 2018's post was effective. There seem to be basic business management problems. I've asked Pleerock to contact me.
Attaching data to res.locals is the recommended way to do it in the Express framework.
You also may want to take a look at continuation-local-storage. It’s a great way to maintain a session for the lifecycle of the request.
Glad to help. I recommend checking out Insomnia it is like Postman but specialized for GraphQL. You can save queries, store env variables, and use attributes from one response as input for a query/mutation.