# Getting ready

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.

If you are a seasoned Feathers developer jump directly to Offline-first.

# 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:

The Feathers chat application

You can find the final version at

# Prerequisites

Feathers works with NodeJS v10.0.0 and later. We recommend using the latest available version from the NodeJS website (opens new window). On MacOS and other Unix systems the Node Version Manager (opens new window) is a good way to quickly install the latest version of NodeJS and keep it up to date.

After successful installation, the node and 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.

FeathersJS Offline is currently only supported on Feathers v4 (Crow - the current release) but might be ported to older version if there is a massiv demand.

# What you should know

In order to get the most out of this guide you should have reasonable JavaScript experience using ES6 (opens new window) and later as well as async/await (opens new window) and some experience with NodeJS and the JavaScript features it supports like the module system (opens new window). You can read more about async/await in this blog post (opens new window). Some familiarity with HTTP and REST APIs (opens new window) as well as websockets is also helpful but not necessary.

Feathers works standalone but also provides an integration (opens new window) with Express (opens new window). This guide does not require any in-depth knowledge of Express but some experience with Express can be helpful in the future.

# What we won't cover

Although Feathers works with many databases, this guide will only use NeDB (opens new window) 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 (opens new window).

This guide will also only focus on Feathers core functionality. Once you are finished with the guide, have a look at the ecosystem page (opens new window) for more advanced plugins.

# What's next?

All set up and good to go? Let's install Feathers and create our first app.

Anything unclear or missing? Get help (opens new window) or Edit this page (opens new window)

Last Updated: 11/17/2020, 3:17:03 PM