There is not one tool I would use/recommend before knowing the actual requirements.
In one of our latest projects we decided on following stack:
Backend/API: PHP, Symfony3, Mysql
We choose this because the following reasons:
The team is already familiar with symfony/php
We had to integrate with existing stack/business logic in php ( or port parts of it )
Frontend: Angular.js
We needed a single page app that we could easily port parts of to a mobile app later on
We wanted to decouple our frontend from the backend by doing only api calls so we avoid having backend code responsible for generating html/etc
Real-time component: Node.js, Redis
We needed a component that processes events as they come in, and a lot of them. We decided against PHP so we could lower our memory footprint and also because it is a bit more convenient to deal with state.
This component checks each incoming data packet with a set of rules and reports on violations.
This component gets it's configuration from the backend api and reports back to the api whenever a violation occurs which needs to be logged.
Mint is pretty solid out of the box, better than Ubuntu imho.
You could also go the other route, install ubuntu server or something and install x, your preferred window manager and all that stuff yourself. Have been running a desktop setup like this for 3/4 years now and never had any issues other than having to reconfigure some *cked up X settings after dist-upgrade.
I agree with ya. It takes a lil work to get Linux tuned to your needs, but once set up it rocks hard. I use Ubuntu server with the i3 wm and a bunch of shell scripts. I control my world with just my keyb and I love it.
Most of the configuration stuff I do on the command line, but I do have a status bar with some basic info .