Skip to content
On this page

Pre-release

You are looking at the website for the fully functional Feathers v5 (Dove) pre-release. Check out what's new, and please let us know about any issues or questions . The current v4 documentation can be found at crow.docs.feathersjs.com.

Creating an app

In the quick start we created a Feathers application in a single file to get a better understanding of how Feathers itself works.

Getting started

The Feathers CLI allows us to initialize a new Feathers server with a recommended structure and generate things we commonly need like authentication, a database connection or new services. You can find the complete example in the feathers-chat repository.

Generating the application

You can create a new Feathers application by running npm create feathers <name>. To create a new Feathers application called feathers-chat we can run:

sh
npm create feathers@pre feathers-chat
npm create feathers@pre feathers-chat

If you never ran the command before you might be asked to confirm the package installation by pressing enter.

warning

Since the generated application is using modern features like ES modules, the Feathers CLI requires Node 16 or newer. The npx feathers --version command should show 5.0.0-pre.34 or later.

First, choose if you want to use JavaScript or TypeScript. When presented with the project name, just hit enter, or enter a name (no spaces). Next, write a short description for your application. Confirm the next questions with the default selection by pressing Enter. When asked about authentication methods, let's include GitHub as well so we can look at adding a "Log In with Github" button.

tip

If you want to use MongoDB instead of SQLite (or another SQL database) for this guide, select it in the Database dropdown in the main menu.

Once you confirm the last prompt, the final selection should look similar to this:

feathers generate app prompts

Note

SQLite creates an SQL database in a file so we don't need to have a database server running. For any other selection, the database you choose has to be available at the connection string.

Sweet! We generated our first Feathers application in a new folder called feathers-chat so we need to go there.

sh
cd feathers-chat
cd feathers-chat

tip

Most generated files have a page in the App Structure guide which contains more information about the file and what it does. See for example the package.json file.

Running the server and tests

The server can be started by running

sh
npm run compile
npm run migrate
npm start
npm run compile
npm run migrate
npm start

After that, you will see the Feathers logo at

http://localhost:3030
http://localhost:3030

Note

You can exit the running process by pressing CTRL + C

The app also comes with a set of basic tests which can be run with

sh
npm test
npm test

There is also a handy development command that restarts the server automatically whenever we make a code change:

sh
npm run dev
npm run dev

Note

Keep this command running throughout the rest of this guide so it will reload all our changes automatically.

What's next?

In this chapter, we've created a new Feathers application. To learn more about the generated files and what you can do with the CLI, have a look at the CLI guide after finishing the Getting Started guide. In the next chapter we will learn more about Feathers services and databases.

Released under the MIT License.