SPRWORK Infosolutions

SPRWork Infosolutions | Website Development Agency With Digital Marketing Services

Building a Sails.js App: Creating Controllers and Models with Node.js

Creating Controllers & Models in Sails.js with Node.js by sprwork infosoultions
Creating Controllers & Models in Sails.js with Node.js by sprwork infosoultions

Node.js has become a go-to choice for many developers when building scalable and high-performance web applications. Explore how to create a new app with Node.js using the Sails.js framework, favored by Top Web Development Companies. To expedite the process of developing Node.js applications, numerous frameworks have emerged, offering convenience and structure. Sails.js, one such framework, stands out with its robustness and support for real-time applications. In this blog post, we will explore the process of creating a new app with Node.js using the Sails.js framework. Discover the power of the Sails.js framework for Node.js and accelerate your web development projects with the convenience of Web Development Packages.

What is Sails.js?

Sails.js is an MVC (Model-View-Controller) framework for Node.js, designed to make it easy to build practical, production-ready web applications. It follows a convention-over-configuration approach, providing a simple structure that allows developers to focus on application logic rather than boilerplate code. Sails.js incorporates features like data-driven APIs, real-time communication, and extensive plugins to enhance the development experience.

Before we dive into creating a new app with Sails.js, make sure you have the following prerequisites installed on your machine:

Node.js and npm (Node Package Manager): Visit the official Node.js website (https://nodejs.org) and download the latest stable version for your operating system.

Sails.js: Once Node.js is installed, open a terminal or command prompt and run the following command to install Sails.js globally:

          npm install sails-g


Creating a New Sails.js App:

Now that we have the necessary prerequisites, let’s create a new Sails.js app step by step:

Step 1: Create a new Sails.js app skeleton using the Sails command-line tool. Open your terminal or command prompt and navigate to the desired directory where you want to create your app. Run the following command:

                sails new you-app-name

Replace “your-app-name” with a suitable name for your application.

Step 2: Once the app skeleton is created, navigate into the newly created app directory:

                Cd your-app-name

 Step 3: Start the Sails.js development server by running the following command:

                sails lift

This command will lift the Sails.js app and start the server. You should see a console output indicating that the app is running.

Step 4: Open your web browser and visit http://localhost:1337 to see the default Sails.js welcome page. Congratulations! You have successfully created a new Sails.js app.

Exploring the Sails.js App Structure:

A newly created Sails.js app has a well-defined structure that promotes maintainability and modularity. Let’s explore the key components of the app structure:

Config: This directory contains configuration files for various environments, including database connections, routes, policies, and more.

Controllers: The controller’s directory houses the application’s controller files. Controllers handle the incoming requests, process the logic, and send responses.

Models: The model’s directory is where you define your application’s data models using Waterline, Sails.js’s built-in ORM (Object-Relational Mapping) layer.

Services: In the services directory, you can place reusable code and logic that can be accessed throughout your application.

Views: Sails.js supports server-rendered views using the EJS (Embedded JavaScript) templating engine. The views directory contains the EJS templates for rendering HTML.

Assets: This directory is for static assets such as stylesheets, JavaScript files, and images.

Creating a Controller and Model:

Controllers handle the application’s logic and interact with models to retrieve and manipulate data. Models define the structure and behavior of your application’s data. They encapsulate data access and provide an interface for interacting with the underlying database. To create a new controller and  new model  in your Sails.js app, follow these steps:


Step 1: Open your terminal or command prompt and navigate to your Sails.js app’s root directory.

Step 2: Run the following command to generate a new controller:

              sails generate controller yourControllerName 

              and Run the following command to generate a new model:

              sails generate model your model name

Replace “yourControllerName” and “your model name” with a suitable name for your controller and model. These commands will create a new controller file in the api/controllers directory and create a new model file in the api/models directory of your Sails.js app.

Step 3: Open the newly created controller file (api/controllers/yourControllerName.js)  and  model file (api/models/yourModelName.js) in your preferred code editor. Here, you can define different actions and logic for your controller and define the attributes and associations for your model.


To create both a controller and a model in one command in Sails.js, follow these steps:

Step 1: Open your command-line interface (CLI) or terminal. Navigate to your Sails.js project directory.

Step 2: Run the following command: sails generate API <controllerName> <modelName>.

Replace <controllerName> with the desired name for your controller and <modelName> with the desired name for your model.

Sails.js will generate the necessary files and folders for your controller and model, including the associated routes and database configurations. Now you have successfully created both a controller and a model using a single command in Sails.js.


You have learned how to create controllers and models in a Sails.js app using Node.js. Controllers allow you to define application logic and handle incoming requests, while models provide a structured representation of your data and facilitate interactions with the database. With these components in place, you can build powerful and scalable web applications using Sails.js. Continue exploring the Sails.js documentation to leverage additional features like associations, validations, and data-driven APIs. Happy coding!

Categorized as SEO

By SuperAdmin

PMI-ACP | Certified ScrumMaster® | DevOps | CAPM® | CCBA® | PMI-RMP®| ITIL4® | PRINCE2® | Apache Cassandra | AWS Technical Essentials | Digital Transformation | Cybersecurity | Digital Marketing | Lean Management