Nodejs Technical Architecture Selection

  node.js, question

As the topic is.
If nodejs is chosen as the back end of the website, which framework is needed?
Website requirements:

  1. The website, WeChat and mobile terminals should all be supported.

  2. MySQL and redis are intended to be used for data storage. Currently, the data volume is at an early stage of millions, and there may be blowout data growth.

  3. websocket
    At present, I only know that nodejs, express, react, react-native may be used.

At present, there are several perplexities:

  1. Choose front-end template rendering or back-end rendering

  2. ORM

  3. OAuth

  4. CSS, UI framework recommended by Is there any, such as bootstrap

  5. If you use front-end templates, SEO?

I also know that this problem is relatively large and needs to be related to business. I just want to know the current framework and learn. Or what is the current popular model?

Thank you for typing the answer first.

It seems that the great gods are all resting. I’ll sort it out myself.

Maybe the shelf will be usednodejsAs a back-end server, other requirements are all around it.nodejsCome on,expressAddmongooseShould probably be able to achieve a similar structure of MVC, database switch tomongoDB(Keep up with the trend. . )。 OAutheveryAuthMiddleware (passportAlso very convenient), built-in are some popular websites abroad, want to access WeChat or something estimates have to write their own code point, visual is not very difficult.expressRealizationREST APIVisual inspection of soazy,WebSocketNodejs also have support, surprisingly simple, as forredis, the client has,mongooseWith hooks, I think there is also a very convenient way to implement the coordination between the database and redis. Considering the evil Baidu, express is adopted as the defaultjadeThe template has not been decided yet, but it is the front end. There are too many choices.jQuery,react,angular,backbone,vue. The mobile terminal wants to have a tryreact-native, app shows are mostly, so I think this is more convenient, after all, iOS is not very familiar.

After I had made these relationships clear, I found that there was already a name.meanSomething like this has been done. You can have a look, but I don’t like this kind of architecture which integrates too much.