Source: cirosantilli/feathersjs

= FeathersJS
{c}

* https://feathersjs.com
* https://github.com/feathersjs/feathers
* https://stackoverflow.com/questions/tagged/feathersjs

Looks interesting.

It seems to abstract the part about the client messaging the backend, which focuses on being able to easily plug in a number of <Front-end web framework> to manage client state.

Has the "main web <API> is the same as the REST API" focus, which is fundamental 2020-nowadays.

Uses <Socket.IO>, which allows the client Javascript to register callbacks when data is updated to achieve <Socket.IO>, e.g. their default chat app does:
``
client.service('messages').on('created', addMessage);
``
so that message appear immediately as they are sent.

Their standard template from `feathers generate app` on `@feathersjs/cli@4.5.0` includes:
* several authentication methods, including <OAuth>
* testing
* backend <database> with one of several <object-relational mapping>! However, they don't abstract across them. E.g., the default Chat example uses NeDB, but a real app will likely use <Sequelize>, and a <port (software-portability)> is needed
which looks promising! They don't have a default template for a <Front-end web framework> however unfortunately: https://docs.feathersjs.com/guides/frameworks.html#the-feathers-chat lists a few chat app versions, which is their <hello world>:
* <Front-end web framework>: not built-in on generator, but there are some sample repos pointed from the documentation, and they did work out-of-box:
  * <feathers-chat-react>
But it is in itself a completely boring app with a single splash page, and no database interaction, so not a good showcase. The actual showcase app is <feathersjs feathers-chat>.

And there is no official example of the chat app that is immediately deployable to <Heroku>: <FeathersJS Heroku deployment>, all setups require thinking.

Global source entry point: determine on `package.json` as usual, defaults to `src/index.js`.