Ubuntu And Node.js Go Hand in Hand

If you have not yet started learning and fooling around with Node.js, you don't need to worry, it's never too late to start right now and as a matter of fact, it's about the right time to do so. Many giants have started accepting Node.js and so on and so forth. Don't worry, this blog is not (totally) dedicated to advocate the hell out of node.js, there are already so many blogs out there and the almighty World Wide Web does no yet require another such article.
 
In this article, I will (try) cover all the tools, packages and plugins that I strongly believe to be awesome!
 
Who is this article for?

For all those folks who want to play around with node.js / mongodb /angular.js etc. and plan to be full-stack javascript developers with super powers as well as all my super enthusiastic friends who just have to know everything thats new and happening .... ;)
 
Get me my precious

So let's get started. First of all, get yourself a new shiny Ubuntu from here. I trust that you'll download Ubuntu 15.10, because this blog assumes so and all the instructions and commands are tested for 15.10, though these commands and scripts may (or may not) work on almost all new and old (up to 14.04) versions.

We all have different tastes so if you are on windows follow these instructions. If you or one of your friends have ubuntu already installed, follow these instructions and OSX users can follow these instructions. A note for OSX users, you don't need to install ubuntu if you don't want to, because all (well, most of) the tools I am going to talk about work on OS-X. I am planning to write a similar blog dedicated to my OS-X friends in near future. Now you can google on how to install ubuntu or follow these instructions.

The Terminal

As we have a new and shiny ubuntu with us, lets fire up the terminal (with ctrl+alt+t), and remember that Terminal is our friend, best friend and if we are going to spend quite a lot of time with it then why not make it a quality time! We'll first install zsh shell and then oh-my-zsh. Along with it, we'll need gitfor our source control needs.
 
The IDE

There are a lot of IDE's out there, but I prefer atom

The tools

When working with node, essential cli tools include gulp the task runner, for light weight monitoring and suff you may need nodemon, to quickly get started with scaffolded code we'll definitely need yo (formerly yeoman package)

The database server

mongodb is kind of de-facto document based (NO-SQL) database server, it also deals in JSON and will be definite choice towards taking your first set as a full-stack javascript developer.
 
The script

To install all these tools and packages, is really a headache, and if you have friends who need help on setting up a node friendly machine can prove to be time consuming and error prone. To reduce this overall effort I have written a script which basically install all these tools and you can just sit back and relax. So all you need to do is,
  1. sh -c "$(curl -f https://raw.githubusercontent.com/daveamit/get-me-node/master/install.sh)"   

Thats it and you are good to go.

The script still is missing atom packages installation part, that I'll be adding very soon, but I guess this script is more than enough to get you started!

Support is now added
 
How do I use stuff just installed? => MongoDb

To start MongoDb run mongod in terminal, keep the terminal open till you are using it, once done press CTRL+C to close it.

=> Docky

To start search 'Docky' from dashboard (to open dash press windows key.

=> Git

Just fire-up git from terminal, it'll just work. For your reference

=> npm and node

Use nvm use <version-number> to change the node runtime, by default node 5.0 will be loaded. To change default node version, change the version in ~/.zshrcconfig file. For more details how nvm works use this.

Read more articles on Node.js: