Skip to content
Realtime MVC Framework for Node.js
JavaScript CoffeeScript
Latest commit cee2e64 May 5, 2016 @sgress454 sgress454 Merge pull request #3724 from balderdashy/fix-issue-3723
[fixes #3723] Strip undefined keys from `req.params.all()`
Failed to load latest commit information.
.github Update ISSUE_TEMPLATE Mar 28, 2016
bin Switch to chalk Apr 2, 2016
errors Switch to chalk Apr 2, 2016
lib Strip undefined keys from `req.params.all()` May 5, 2016
test Clarify appropriate usage of --port option in testSpawningSilsLiftChi… Apr 23, 2016
.editorconfig Improve default serverError handler in builtin router. Also, I'll pro… Mar 25, 2014
.gitignore Added globby thing for logfiles related to perf timing tests to gitig… Apr 20, 2016
.jshintrc Standardize jshintrc for consistency w/ our deps including the new wl… Feb 19, 2016
.npmignore added all md files to the npmignore (README is an automatic exception… Jan 25, 2014
.npmrc Checking npm-Version on npm-install Jul 3, 2014
.travis.yml Use latest Node 5 w/ Travis Feb 15, 2016
0.11-migration-guide.md Update 0.11-migration-guide.md Feb 5, 2016
CHANGELOG.md Update grunt-contrib-watch to 1.0.0 May 2, 2016
CODE-OF-CONDUCT.md Simplify CoC to remove confusing language re: #3636 (comment) Mar 7, 2016
CONTRIBUTING.md Update CONTRIBUTING.md Feb 29, 2016
LICENSE.md Update license year to 2016 Jan 18, 2016
MODULES.md Changing to 0.9.x for recommended sails version on old MSSQL adapter. Jan 11, 2016
README.md make sure all of the various Oracle adapters are available in link (i… May 4, 2016
REPOS.json Remove wl-errors from repos.json Sep 22, 2015
ROADMAP.md Merge branch 'master' of https://github.com/eric-burel/sails into eri… May 2, 2016
package.json Update grunt-contrib-watch to 1.0.0 May 2, 2016

README.md

Sails.js logo

Website   Getting Started   Docs   Submit Issue

Gitter NPM version

Sails.js is a web framework that makes it easy to build custom, enterprise-grade Node.js apps. It is designed to resemble the MVC architecture from frameworks like Ruby on Rails, but with support for the more modern, data-oriented style of web app development. It's especially good for building realtime features like chat.

Installation  

With node installed:

# Get the latest stable release of Sails
$ sudo npm install sails -g
Upgrading from 0.10 or 0.11?

The v0.12 release of Sails contains a few breaking changes which affect userland. To read the v0.12 migration guide, click here.

Your First Sails Project

Create a new app:

# Create the app
$ sails new testProject

Lift sails:

# cd into the new folder
$ cd testProject

# fire up the server
$ sails lift

Generate a REST API:

ScreenShot

Compatibility

Sails is built on Node.js, Connect, Express, and Socket.io.

Sails controllers are compatible with Connect middleware, so in most cases, you can paste code into Sails from an existing Express project and everything will work-- plus you'll be able to use WebSockets to talk to your API, and vice versa.

The ORM, Waterline, has a well-defined adapter system for supporting all kinds of datastores. Officially supported databases include MySQL, PostgreSQL, MongoDB, SQLite3, Redis, local disk, and local memory. Community adapters exist for CouchDB, neDB, TingoDB, SQLite, Oracle, MSSQL, DB2, ElasticSearch, Riak, neo4j, OrientDB, Amazon RDS, DynamoDB, Azure Tables, RethinkDB and Solr; for various 3rd-party REST APIs like Quickbooks, Yelp, and Twitter, including a configurable generic REST API adapter; plus some eclectic projects.

Powered by MySQL                                

Books

Support

Need help or have a question?

Issue Submission

Please read the issue submission guidelines before opening a new issue.

Sails is composed of a number of different sub-projects, many of which have their own dedicated repository. If you suspect an issue in one of these sub-modules, you can find its repo on the organization page, or in MODULES.md. Click here to search/post issues in this repository.

Feature Requests

If you have an idea for a new feature, please feel free to submit it as a pull request to the backlog section of the ROADMAP.md file in this repository.

Contribute

There are many different ways you can contribute to Sails:

Please carefully read our contribution guide and check the master branch build status before submitting a pull request with code changes.

Links

Team

Sails was built and is actively maintained by Balderdash Design Company (@balderdashy) and The Treeline Company (@treelinehq), with the help of many other amazing contributors. Our core team consists of:

Mike McNeil Cody Stoltman Scott Gress Irl Nathan Rachael Shaw
Mike McNeil Cody Stoltman Scott Gress Irl Nathan Rachael Shaw

Back in 2012, we were designing/builing scalable Node.js apps for startups and enterprise customers. After building a few applications and taking them into production, we realized that the Node.js development landscape was very much still the Wild West. Over time, after trying lots of different methodologies, we decided to crystallize all of our best practices into this framework. Four years later, Sails is now one of the most widely-used web application frameworks in the world. We hope it saves you some time! :)

License

MIT License Copyright © 2012-2016 Mike McNeil

Sails is built around so many great open-source technologies that it would never have crossed our minds to keep it proprietary. We owe huge gratitude and props to TJ Holowaychuk (@visionmedia) and Guillermo Rauch (@rauchg) for the work they've done, as well as the stewards of all the other open-source modules we use. Sails could never have been developed without your tremendous contributions to the node community.

image_squidhome@2x.png

Something went wrong with that request. Please try again.