Knowledge Base

Setup Sails.js for Development on CentOS 7

  • Last Created On Dec 06, 2024
  • 25
0 0

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

Update the system.

sudo yum update -y

Install the necessary packages.

sudo yum install curl git

Install Node.js and NPM

Enable the EPEL repository.

sudo yum install epel-release

Once the EPEL repository is enabled, run the following command to add the Node.js v8 LTS repository.

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

Install Node.js v8 LTS, as well as NPM.

sudo yum -y install nodejs

Install build tools.

sudo yum install gcc-c++ make

To verify if the Node.js and NPM installation was successful, issue the following command.

node -v
npm -v

The output will be similar to the following.

v8.x.x
3.x.x

Install Sails.js

To install the latest stable release of sails, issue the following command.

sudo npm -g install sails

Create a Test Application

Let’s create a boilerplate application called testSailsApp in the directory where you would like your app to be located, for example /var/www, and then run the following command.

sails new testSailsApp

To start the application, you will need to change into the project directory, testSailsApp, and then start the server.

cd testSailsApp
sails lift

You will see the following on your command prompt.

info: Starting app...
info:
info:
info:    Sails              <|
info:    v1.0.0             |\
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://[aklwebhost-vm-ip-address]:1337. You will see a page that says “A brand new App”.

Playing Around

What makes Sails great 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 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 will 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://[aklwebhost-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.

Let’s add some tweets to system via our browser address bar.

First, browse to http://[aklwebhost-vm-ip-address]:1337/tweet/create?name=mrLami&msg=aklwebhost Hosting Rocks and hit ENTER.

Then, browse to http://[aklwebhost-vm-ip-address]:1337/tweet/create?name=theaklwebhost&msg=TGIF half off coupons and again hit ENTER.

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

[
  {
    "name": "mrLami",
    "msg": "AKLWEB HOST Hosting Rocks",
    "createdAt": "2014-11-03T03:49:07.353Z",
    "updatedAt": "2014-11-03T03:49:07.353Z",
    "id": 1
  },
  {
    "name": "theAKLWEBHOST",
    "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 AKLWEB HOST VM and start sailing.

Views: 25

Recent Articles

  • How to Install JAX with ROCm Acceleratio...
    87
  • Deploy a PyTorch Workspace on a Vultr Cl...
    68
  • Managing Backup Storage
    77
  • Automating FTP Backups in Windows Server
    69
  • Automating FTP Backups in Linux
    73

Popular Articles

  • Our General Terms & Conditions
    2592
  • Our Privacy Policy
    2442
  • Our Cookies Policy
    269
  • Our Terms of Use
    147
  • How to Install JAX with ROCm Acceleratio...
    87