API

This section describes all the individual modules and APIs of Feathers. There are three main sections of the API:

  • Core: The Feathers core functionality that can be used on the server and the client
  • Server: Feathers server side modules used with Core when creating an API server in NodeJS
  • Client: Modules used on the client (NodeJS, browser or React Native) together with Core when connecting to a Feathers API server.

Here is an overview how the individual sections of the API documentation fit together:

Feathers Architecture overview

Core

Feathers core functionality that works on the client and the server

  • Application - The main Feathers application API
  • Services - Service objects and their methods and Feathers specific functionality
  • Hooks - Pluggable middleware for service methods
  • Events - Events sent by Feathers service methods
  • Errors - A collection of error classes used throughout Feathers

Transports

Expose a Feathers application as an API server

  • Express - Feathers Express framework bindings, REST API provider and error middleware.
  • Socket.io - The Socket.io real-time transport provider
  • Primus - The Primus real-time transport provider
  • Configuration - A node-config wrapper to initialize configuration of a server side application.
  • Channels - Decide what events to send to connected real-time clients

Client

More details on how to use Feathers on the client

  • Usage - Feathers client usage in Node, React Native and the browser (also with Webpack and Browserify)
  • REST - Feathers client and direct REST API server usage
  • Socket.io - Feathers client and direct Socket.io API server usage
  • Primus - Feathers client and direct Primus API server usage

Authentication

Feathers authentication mechanism

  • Service - The main authentication service configuration
  • Strategies - More about authentication strategies
  • Local - Local email/password authentication
  • JWT - JWT authentication
  • OAuth - Using oAuth logins (Facebook, Twitter etc.)
  • Client - A client for a Feathers authentication server

Databases

Feathers common database adapter API and querying mechanism

  • Adapters - A list of supported database adapters
  • Common API - Database adapter common initialization and configuration API
  • Querying - The common querying mechanism