Alright then! Let's learn what Feathers is all about. First we'll have a look at what we are going to do in this guide, what you should already know and what needs to be installed to use Feathers.
What we will do
In this guide we will get a quick start by creating our first simple Feathers REST and real-time API and a website to use it from scratch. Then we will learn about the Feathers CLI and the core concepts of services, hooks and authentication by building a chat application that allows users to sign up, log in (including with GitHub) and send and receive messages in real-time. It will look like this:
You can find the final version at
Feathers works with NodeJS v10.0.0 and later. We recommend using the latest available version from the NodeJS website. On MacOS and other Unix systems the Node Version Manager is a good way to quickly install the latest version of NodeJS and keep it up to date.
After successful installation, the
npm commands should be available on the terminal and show something similar when running the following commands:
$ node --version v12.0.0
$ npm --version 6.9.0
Note: Running NodeJS and npm should not require admin or root privileges.
Feathers does work in the browser and supports IE 10 and up. The browser examples used in the guides will however only work in the most recent versions of Chrome, Firefox, Safari and Edge.
What you should know
async/await in this blog post. Some familiarity with HTTP and REST APIs as well as websockets is also helpful but not necessary.
What we won't cover
Although Feathers works with many databases, this guide will only use NeDB which is a file-system based database so there is no need to run a database server. More information about specific databases can be found in the databases API.
This guide will also only focus on Feathers core functionality. Once you are finished with the guide, have a look at the ecosystem page for more advanced plugins.
All set up and good to go? Let's install Feathers and create our first app.