Setup Sails.js For Development On Ubuntu 14

Modified on: Wed, Feb 4, 2015 at 1:40 pm EST

Introduction

Sails.js is a MVC framework for Node.js similar to Ruby on Rails. It makes for developing modern applications very quickly, and is best suited for real-time applications like leaderboards and chat.

Installation

Install Node.js as a pre-requisite (note: 'y' flag auto answers yes during installation).

sudo apt-get install -y python-software-properties python g++ make
sudo add-apt-repository -y ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install -y nodejs

Install Sails.js.

sudo npm -g install sails

Create Test Application

Create a test application called "testSailsApp".

sails new testSailsApp

Start "testSailsApp" application.

cd testSailsApp
sails lift

You should see the following on your command prompt:

info: Starting app...
info:
info:
info:    Sails              <|
info:    v0.10.5             |\
info:                       /|.\
info:                      / || \
info:                    ,'  |'  \
info:                 .-'.-==|/_--'
info:                 `--'-------'
info:    __---___--___---___--___---___--___
info:  ____---___--___---___--___---___--___-__
info:
info: Server lifted in `/root/testSailsProject`
info: To see your app, visit http://localhost:1337
info: To shut down Sails, press <CTRL> + C at any time.

To access your app from a web browser use http://[vultr-vm-ip-address]:1337. You will see a page that says "A brand new App".

Playing Around

What makes sails awesome is its ability to create API's using its generate tool that can be used in production environments without even starting to write code. In production environments for complex apps, there will be policies that you still need to configure/code to enforce the behavior that you want.

Issue CTRL + C from the terminal to stop "testSailsApp". Run sails generate api tweet to create an API called tweet. You terminal session should be similar to the following:

root@install:~/testSailsProject# sails generate api tweet
info: Created a new api!
root@install:~/testSailsProject#

Run sails lift to start the test app again. Then, browse to http://[vultr-vm-ip-address]:1337/tweet. If you receive a migration prompt, choose option 2.

You will see an empty JSON array [] on your browser because there are currently no tweets in the system.

Add some tweets to system via our browser address bar:

browse to:
http://[vultr-vm-ip-address]:1337/tweet/create?name=mrLami&msg=Vultr Hosting Rocks 
[hit enter]

browse to:
http://[vultr-vm-ip-address]:1337/tweet/create?name=theVultr&msg=TGIF half off coupons 
[hit enter]

Now browse to http://[vultr-vm-ip-address]:1337/tweet to view tweets we added, and you will see the JSON document below.

[
  {
    "name": "mrLami",
    "msg": "Vultr Hosting Rocks",
    "createdAt": "2014-11-03T03:49:07.353Z",
    "updatedAt": "2014-11-03T03:49:07.353Z",
    "id": 1
  },
  {
    "name": "theVultr",
    "msg": "TGIF half off coupons",
    "createdAt": "2014-11-03T03:49:29.411Z",
    "updatedAt": "2014-11-03T03:49:29.411Z",
    "id": 2
  }
]

Conclusion

There is much more that Sails.js can do even before requiring any code. This includes sorting the list of results, and limiting the amount of records received. Sails makes developing realtime apps fun, and a lot quicker to build. Spin up an instance on a Vultr VM and start sailing.

Get started in the SSD Cloud!