To answer your NodeJS question, express is a popular framework for API development and many databases are supported, <a href="https://expressjs.com/en/guide/database-integration.html" rel="nofollow">https://expressjs.com/en/guide/database-integration.html</a>.<p>I use sailsJS in my day job which is built on top of expressJS, and it does everything you want out of the box for GET, POST, PUT and DELETE simply by adding a model file and configuring the MongoDB connection string. It also has standard functionality with it such as logging, session, authorization, <i>BUT</i> you have to spend time learning how it works with sailsJS. Therefore it is much easier to start at a lower level framework like express and add high quality functionality modules as you need it, such as expressJS and adding your favorite logging/apm module like New Relic.<p>I've done .NET, Python and now I'm doing Node at work. By far, Node is my favorite because it always just works. I develop on Windows 10 and deploy using Ubuntu 16 docker images. I use mssql node module and it has just worked in both OSs. The only cross platform issue, with Node, I've had was that file names are case sensitive in Linux but not Windows.<p>For UI development, that's another beast. I wrote an Angular 5 application recently but I don't like it. Vue and possibly React look simpler.