V
V
Vladimir Mukhin2020-02-29 17:28:14
Node.js
Vladimir Mukhin, 2020-02-29 17:28:14

Which Node.js framework to choose today?

I have a pet project in development. Initially, I picked it on Meteor.JS, but at some point I realized that Meteor does not suit me, firstly, because the connection between the client and the server is too strong, and secondly, it slows down even on a non-weak laptop (constant CPU usage of more than 30% ). As a result, I have a React front, but no backend. In fact, I need a REST backend, with authorization and CRUD operations. At the moment, three models will be used - Call, Patient, User. The Patient model is related to Call as one-to-many. Similarly, the User model is associated with Call. When adding a new instance of Call to the database, it is necessary to be able to automatically create a new instance of Patient (if it does not exist).
The volume of planned data is about 100 thousand Call instances, about 20 thousand Patient instances and about 100 User instances.
And one more thing - I would like a part of the database (about 100 records) to be synchronized with localstorage (to be able to work offline for some time without losing data).

The question, in general, is this: what framework would you choose now if you were doing a similar project?

Answer the question

In order to leave comments, you need to log in

9 answer(s)
D
Dmitry Makarov, 2020-03-02
@vnmukhin

strapi.io headless CMS with visual editor

A
Adel Khalitov, 2020-02-29
@adelkhalitov

I would take nestjs for any project now , I work on 2 projects that I started doing 5+ years ago. And the biggest problem is that developers do what they want, each developer is a new style of writing code, and in 99% of cases this code is not extensible, you have to constantly refactor. Nest has a cool structure, which I still don’t know how to break, all the recommendations are listed in the dock.
There is a cool ORM, the implementation will be obvious to any developer if you read the doc.

M
MSAFT, 2020-03-02
@MSAFT

I would choose fastify for the backend. It is more productive than competitors and supports typescript.
For the front, I would choose Vue, because they don’t depend on a big company (hello Angular and React), and they say in version 3 they will beat everyone in terms of performance (although who needs it today). If you need SSR for SEO, then in order not to suffer, if you chose React, immediately put next.js, if vue - nuxt. If the application is large, then do not forget about redux / vuex.
The database must be chosen strictly for the task, if the tables are interconnected then strictly relational - Postgresql or Mariadb. If it's just storing some data, then of course Mongodb is better. If some confusing social network is neo4j. If queues are needed then redis. Now there is also graphql on the hype. ORM - if pure JS - sequalize, if TS - TypeORM, if Monga - mongoose. So it is necessary to proceed from the tasks.
Also good for the NestJS backend that was recommended. Everything is structured well, it will be hard to get confused and you can start writing right away, a big plus is TypeScript support out of the box. If you use Angular on the front, then generally a song.
I would also recommend adonis js, a complete clone of laravel on nodejs. If you worked on laravel, then everything will be clear. Yes, and the laravel structure has already been tested for years.

T
Tigran Abrahamyan, 2020-02-29
@TAbrahamyan

The great and mighty keystone.js

A
Alexander Cheremkhin, 2020-02-29
@Che603000

Server
https://expressjs.com/ru/
Mongodb database with mongoose on node
https://mongoosejs.com/

A
AlexisKmetik, 2020-03-01
@AlexisKmetik

If the point is to want to try yourself in the backend and say that "I can do it too", then the stack is approximately:
Express, sequilize / typeorm, winston, passport, helmet, multer. And plus a dozen more important dependencies like bcrypt, jimp, dotenv...
The base is any SQL, not a stinky monga. Get a muscle.
If you don’t know how to back up and don’t understand the depth of the hole yet, then it’s easier not to write it at all, use things like indexedDB, no one will appreciate your efforts on the base ex + mongo + spaghetti stack.
Oh, and I also forgot to add that choose a suitable di-container for yourself. And don't forget backing without ts time down the drain.

V
Viacheslav Gordeiko, 2020-03-02
@Coral_Reef

If it's about React on the front, why hasn't anyone suggested Next.js?
No joke question, really interesting.

N
NewBye, 2020-03-03
@NewBye

JS sucks, which everyone is forced to use due to the lack of an alternative.
So - Blazor.

A
Alexander N++, 2020-03-02
@sanchezzzhak

Molecularjs
Scalable out of the box, easy to create microservices.
Performance analytics for all methods in the console, export to popular trackers.
There is a Russian community in telegram, documentation in Russian/English.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question