As any JavaScript framework community grows, it becomes difficult to navigate which avenues developers have to look for solutions to problems they have encountered. FeathersJS has continually been at the forefront of JavaScript discussions since its inception, as illustrated in the annual State of JS survey. We created FeathersJS Resources as a hub, or rather a starting point, to assist people in the Feathers community find what they may be searching for.

There are many resource lists available, however, we noticed a lacking of curated examples. Our goal with this list is to provide an up-to-date accounting of which libraries are maintained, projects are active, and examples of FeathersJS in the wild. Our general rules for curation are as follows:

  • projects on NPM must have been published in the past two years
  • projects on Github must have been updated in the past two years
  • projects should be well documented
  • articles and tutorials should be topical to the FeathersJS community
  • examples should use FeathersJS as a part of their stack
  • support channels should be qualified by the FeathersJS core team

Not to overestimate our abilities to keep track of all projects in the ecosystem, we have a channel for people to submit projects for review, which can be added to the Feathers Resources site.

With the above criteria, we have broken the list into several categories which will certainly be expanded as time goes on. A few notable examples from each category are:

Articles and Tutorials

image of a feather

How we debug Feathers APIs using Postman

Author Juan Orozco details a general process, conventions, and steps on how Aquil.io uses Postman to develop and debug APIs with Feathers. A few gotchas are elaborated and patterns on how Aquil.io rapidly develops APIs are explained.

Build a CRUD App Using React, Redux and FeathersJS

Author Michael Wanyoike takes readers through getting a contact manager application set up with Feathers, Create React App, and MongoDB. The benefits of following conventions in REST and a bit of Feathers background is explained with a concrete example.

visualization of simple tools and a phone, illustrating an app being built

Tools

logo for feathers-common-hooks which is a claw-like device

feathers-hooks-common

feathers-hooks-common is a suite of hooks allowing developers to architect common processes in a composable fashion. Readable hook flows are created such as: iff(isProvider('external'), disallow()).

feathers-sync

feathers-sync allows for scaling Feathers APIs and keeping socket events in sync through an intermediary data source, such as Redis. With this project, a modifying request, such as a POST, may ping a single server while the {service}::created event will be relayed to all other servers in the cluster and their corresponding subscribers.

Support

graphical representation of a slack conversation

Feathers Slack channel

The official channel for FeathersJS discussions. Open to the public and staffed by the core team. The core maintainer and author, David Luecke, is typically available to answer in depth questions regarding the usage of Feathers.

Office hours

Members of the FeathersJS core team and experts at Aquil.io are available for questions that may require a call or a screen share to debug or discuss issues the community is facing. Developers at Aquil.io have been power users of Feathers since 2014 and have experience in many of the nuances in real-world settings.

aquil.io logo

Our hope is this list provides a bit of direction, if you are new to the community, and a place to quickly find support if you need it. The above is a sample, but be sure to read the full list at feathersresources.dev.