├── .github ├── contributing.md ├── issue_template.md └── pull_request_template.md ├── LICENSE ├── README.md └── img ├── awesome-feathers.png └── tiny-feathers-logo.png /.github/contributing.md: -------------------------------------------------------------------------------- 1 | # Contributing to Feathers 2 | 3 | Thank you for contributing to Feathers! :heart: :tada: 4 | 5 | Feathers embraces modularity and is broken up across many repos. To make this easier to manage we currently use Github projects for issue triage and visibility. To get a high level view of the core releases you can go to https://github.com/feathersjs/feathers/projects. 6 | 7 | ## Report a bug 8 | 9 | Before creating an issue please make sure you have checked out the docs, specifically the [FAQ](https://docs.feathersjs.com/help/faq.html) section. You might want to also try searching Github. It's pretty likely someone has already asked a similar question. 10 | 11 | If you haven't found your answer please feel free to join our [slack channel](http://slack.feathersjs.com), create an issue on Github, or post on [Stackoverflow](http://stackoverflow.com) using the `feathers` or `feathersjs` tag. We try our best to monitor Stackoverflow but you're likely to get more immediate responses in Slack and Github. 12 | 13 | Issues can be reported in the [issue tracker](https://github.com/feathersjs/feathers/issues). Since feathers combines many modules it can be hard for us to assess the root cause without knowing which modules are being used and what your configuration looks like, so **it helps us immensely if you can link to a simple example that reproduces your issue**. 14 | 15 | ## Report a Security Concern 16 | 17 | We take security very seriously at Feathers. We welcome any peer review of our 100% open source code to ensure nobody's Feathers app is ever compromised or hacked. As a web application developer you are responsible for any security breaches. We do our very best to make sure Feathers is as secure as possible by default. 18 | 19 | In order to give the community time to respond and upgrade we strongly urge you report all security issues to us. Send one of the core team members a PM in [Slack](http://slack.feathersjs.com) or email us at hello@feathersjs.com with details and we will respond ASAP. 20 | 21 | For full details refer to our [Security docs](https://docs.feathersjs.com/SECURITY.html). 22 | 23 | ## Pull Requests 24 | 25 | We :heart: pull requests and we're continually working to make it as easy as possible for people to contribute, including a [Plugin Generator](https://github.com/feathersjs/generator-feathers-plugin) and a [common test suite](https://github.com/feathersjs/feathers-service-tests) for database adapters. 26 | 27 | We prefer small pull requests with minimal code changes. The smaller they are the easier they are to review and merge. A FeathersJS maintainer will pick up your PR and review it as soon as they can. They may ask for changes or reject your pull request. This is not a reflection of you as an engineer or a person. Please accept feedback graciously as we will also try to be sensitive when providing it. 28 | 29 | Although we generally accept many PRs they can be rejected for many reasons. We will be as transparent as possible but it may simply be that you do not have the same context, historical knowledge or information regarding the roadmap that the maintainers have. We value the time you take to put together any contributions so we pledge to always be respectful of that time and will try to be as open as possible so that you don't waste it. :smile: 30 | 31 | **All PRs (except documentation) should be accompanied with tests and pass the linting rules.** 32 | 33 | ### Code style 34 | 35 | Before running the tests from the `test/` folder `npm test` will run ESlint. You can check your code changes individually by running `npm run lint`. 36 | 37 | ### Tests 38 | 39 | [Mocha](http://mochajs.org/) tests are located in the `test/` folder and can be run using the `npm run mocha` or `npm test` (with ESLint and code coverage) command. 40 | 41 | ### Documentation 42 | 43 | Feathers documentation is contained in Markdown files in the [feathers-docs](https://github.com/feathersjs/feathers-docs) repository. To change the documentation submit a pull request to that repo, referencing any other PR if applicable, and the docs will be updated with the next release. 44 | 45 | ## External Modules 46 | 47 | If you're written something awesome for Feathers, the Feathers ecosystem, or using Feathers please add it to the [awesome-feathersjs](https://github.com/feathersjs-ecosystem/awesome-feathersjs). You also might want to check out the [Plugin Generator](https://github.com/feathersjs/generator-feathers-plugin) that can be used to scaffold plugins to be Feathers compliant from the start. 48 | 49 | If you think it would be a good core `feathersjs` module or `featherjs-ecosystem` module then please contact one of the Feathers maintainers in [Slack](http://slack.feathersjs.com) and we can discuss whether it belongs and how to get it there. :beers: 50 | 51 | ## Contributor Code of Conduct 52 | 53 | As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities. 54 | 55 | We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion. 56 | 57 | Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct. 58 | 59 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team. 60 | 61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers. 62 | 63 | This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/) 64 | -------------------------------------------------------------------------------- /.github/issue_template.md: -------------------------------------------------------------------------------- 1 | ### Steps to reproduce 2 | 3 | (First please check that this issue is not already solved as [described 4 | here](https://github.com/feathersjs/feathers/blob/master/.github/contributing.md#report-a-bug)) 5 | 6 | - [ ] Tell us what broke. The more detailed the better. 7 | - [ ] If you can, please create a simple example that reproduces the issue and link to a gist, jsbin, repo, etc. 8 | 9 | ### Expected behavior 10 | Tell us what should happen 11 | 12 | ### Actual behavior 13 | Tell us what happens instead 14 | 15 | ### System configuration 16 | 17 | Tell us about the applicable parts of your setup. 18 | 19 | **Module versions** (especially the part that's not working): 20 | 21 | **NodeJS version**: 22 | 23 | **Operating System**: 24 | 25 | **Browser Version**: 26 | 27 | **React Native Version**: 28 | 29 | **Module Loader**: -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ### Summary 2 | 3 | (If you have not already please refer to the contributing guideline as [described 4 | here](https://github.com/feathersjs/feathers/blob/master/.github/contributing.md#pull-requests)) 5 | 6 | - [ ] Tell us about the problem your pull request is solving. 7 | - [ ] Are there any open issues that are related to this? 8 | - [ ] Is this PR dependent on PRs in other repos? 9 | 10 | If so, please mention them to keep the conversations linked together. 11 | 12 | ### Other Information 13 | 14 | If there's anything else that's important and relevant to your pull 15 | request, mention that information here. This could include 16 | benchmarks, or other information. 17 | 18 | Your PR will be reviewed by a core team member and they will work with you to get your changes merged in a timely manner. If merged your PR will automatically be added to the changelog in the next release. 19 | 20 | If your changes involve documentation updates please mention that and link the appropriate PR in [feathers-docs](https://github.com/feathersjs/feathers-docs). 21 | 22 | Thanks for contributing to Feathers! :heart: -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Feathers Ecosystem 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 |
3 | logo of awesome-feathersjs repository 4 |
5 |
6 |

7 | 8 | # Awesome Feathers [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) 9 | 10 | > A list of awesome things related to FeathersJS 11 | 12 | - Awesome Feathers ![Awesome](/img/tiny-feathers-logo.png) 13 | - [Resources](#resources) 14 | - [Official Resources](#official-resources) 15 | - [Videos](#videos) 16 | - [Articles and Blog Posts](#articles-and-blog-posts) 17 | - [Examples](#examples) 18 | - [Feathers-Chat](#feathers-chat) 19 | - [Feathers-Scss-Postgres-Chat-App](https://github.com/jermsam/Feathers-Scss-Postgres-Chat-App) 20 | - [React](#react) 21 | - [Vue](#vue) 22 | - [Angular](#angular) 23 | - [Admin](#admin) 24 | - [Auth](#auth) 25 | - [GraphQL / Apollo](#graphql--apollo) 26 | - [Other](#other) 27 | - [Projects Using Feathers](#projects-using-feathers) 28 | - [Plugins](#plugins) 29 | - [Authentication and Authorization](#authentication-and-authorization) 30 | - [Caching](#caching) 31 | - [Database](#database) 32 | - [APIs](#apis) 33 | - [Documentation](#documentation) 34 | - [Email and SMS](#email-and-sms) 35 | - [Google](#google) 36 | - [Hooks](#hooks) 37 | - [Images](#images) 38 | - [Payments](#payments) 39 | - [Scaling](#scaling) 40 | - [Search](#search) 41 | - [Social media](#social-media) 42 | - [Testing](#testing) 43 | - [Logging](#logging) 44 | - [Transports](#transports) 45 | - [Utilities](#utilities) 46 | - [Validation](#validation) 47 | - [Mobile Clients](#mobile-clients) 48 | - [Flutter](#flutter) 49 | - [iOS](#ios) 50 | - [Android](#android) 51 | - [Frontend frameworks](#frontend-frameworks) 52 | - [Framework Agnostic](#framework-agnostic) 53 | - [DoneJS](#donejs) 54 | - [React and Redux](#react-and-redux) 55 | - [VueJS](#vuejs) 56 | - [Angular 1](#angular-1) 57 | - [Angular 2](#angular-2) 58 | - [Polymer](#polymer) 59 | - [AureliaJS](#aureliajs) 60 | - [Mithril](#mithril) 61 | - [React Admin](#react-admin) 62 | - [Admin on Rest (replaced by React Admin)](#admin-on-rest-replaced-by-react-admin) 63 | 64 | ## Resources 65 | 66 | ### Official Resources 67 | 68 | - [Website](https://feathersjs.com) 69 | - [Docs](https://docs.feathersjs.com) 70 | - [Blog](https://blog.feathersjs.com) 71 | - [Guides](https://docs.feathersjs.com/guides) 72 | - [Slack](https://slack.feathersjs.com) 73 | - [Telegram Russian chat](https://t.me/featherjs) 74 | - [Twitter](https://twitter.com/feathersjs) 75 | 76 | ### Videos 77 | 78 | - [The FeathersJS Youtube playlist](https://www.youtube.com/playlist?list=PLwSdIiqnDlf_lb5y1liQK2OW5daXYgKOe) 79 | - [FeathersJS Real-Time Chat App - Tutorial](https://www.youtube.com/watch?v=CuM4vLkBaik) 80 | - [Fullstack Feathersjs and React Web App](https://www.youtube.com/playlist?list=PLN3n1USn4xlnulnnBGD2RMid_p7xVj9xU) 81 | 82 | ### Articles and Blog Posts 83 | 84 | - [Feathers Cheatsheet](https://github.com/LeCoupa/awesome-cheatsheets/blob/master/backend/feathers.js) 85 | - [Integrating Nuxt into your Feathers Application](https://blog.feathersjs.com/ssr-vuejs-app-with-feathers-and-nuxt-bb7dfd3e6397) 86 | - [How to do server side rendering with Feathers.js and Next.js](http://www.albertgao.xyz/2018/02/04/how-to-do-server-side-rendering-with-feathersjs-and-nextjs/) 87 | - [Russian article - Связи между таблицами sequelize в FeathersJS](https://weburoki.pro/model-relation-feathers-feathers) 88 | - [Russian article about querying - Запросы сервисам FeathersJS](https://weburoki.pro/querying-feathersjs-service) 89 | - [Get started with Feathers & React](https://medium.com/javascript-in-plain-english/get-started-with-feathers-react-part-1-6b2b35a398c3) 90 | 91 | ### Examples 92 | 93 | #### Feathers-Chat 94 | 95 | Official Feathers Chat app & related front-end examples 96 | 97 | - [Feathers Chat](https://github.com/feathersjs/feathers-chat) ![Official Feathers Repo](/img/tiny-feathers-logo.png) 98 | - [Feathers-Vuex (Vue.js) Chat](https://github.com/feathers-plus/feathers-chat-vuex) 99 | - [Feathers React Native Chat](https://github.com/feathersjs-ecosystem/feathers-react-native-chat) 100 | - [Feathers Chat + Login with Facebook](https://github.com/morenoh149/feathers-chat-facebook-signup-api) 101 | - [Feathers Chat + Phone Signup SMS pin](https://github.com/morenoh149/feathers-chat-phone-signup-sms) 102 | - [Feathers Chat React + TypeScript](https://github.com/codyparker/feathers-chat-react-typescript) 103 | 104 | #### React 105 | 106 | - [Feathers + React + Mobx](https://github.com/foxhound87/rfx-stack) 107 | - [Feathers + React + Webpack](https://github.com/sscaff1/feathers-webpack-react) 108 | - [Feathers + React + Redux + Webpack + local auth. Production quality](https://github.com/eddyystop/feathers-starter-react-redux-login-roles) 109 | - [Feathers + React + Redux + Webpack + complete auth + offline mode (ideal for production)](https://github.com/bertho-zero/react-redux-universal-hot-example) 110 | - [Feathers + Next.js](https://github.com/Albert-Gao/feathers-next-example) 111 | - [MyEthereum.app: Feathers + Sequelize + React + Redux + Jest + Zeit deployments](https://github.com/petermikitsh/myethereumapp) 112 | - [Build a CRUD App Using React, Redux and FeathersJS](https://www.sitepoint.com/crud-app-react-redux-feathersjs/) 113 | - [Hook based React.js package useFeathers demo](https://github.com/indatawetrust/use-feathers/tree/master/demo) 114 | - [Feathers-React Starter](https://github.com/ingeniousambivert/Feathers-React-Starter) 115 | 116 | #### Vue 117 | 118 | - [Feathers-Vuex (Vue.js) TodoMVC example project](https://github.com/wdmtech/feathers-vuex-todomvc) 119 | - [Quasar Feathers Structured Conversation](https://github.com/KnowledgeGarden/tqks-featherweight-prototype) 120 | - [Quasar Feathers tutorial](https://github.com/claustres/quasar-feathers-tutorial) 121 | - [Feathers + Quasar](https://github.com/claustres/quasar-feathers-tutorial) 122 | - [Feathers 2 + Vue 2 + SSR + Email Verification](https://github.com/codingfriend1/Feathers-Vue) 123 | - [Feathers 2 + Vue 2 + Email Verification + Cordova + Framework 7](https://github.com/codingfriend1/Feathers-Vue/tree/cordova) 124 | - [feathers-nuxt](https://github.com/silvestreh/feathers-nuxt) - A sample/starter for server-side rendered Vue.js + Feathers applications that supports user authentication 125 | - [Feathers + Vue and Nuxt](https://github.com/7kmCo/feathers-vue-nuxt) Nuxt.js or Vue.js templates. 126 | - [Feathers + Nuxt Boilerplate](https://gitlab.com/fexell/featherjs-nuxtjs-boilerplate) Feathers + Nuxt boilerplate with Login, Sign Up, Reauthentication, etc. 127 | - [Feathers + Nuxt Sao Template](https://github.com/feathers-nuxt/template-app) 128 | 129 | #### Admin 130 | 131 | - [Feathers + Aor-feathers-client + Admin on Rest](https://github.com/kfern/feathers-aor-test-integration) 132 | 133 | #### Auth 134 | 135 | - [Passwordless Auth Example Using feathers-authentication-management](https://github.com/rhythnic/feathers-passwordless-auth-example) 136 | 137 | #### GraphQL / Apollo 138 | 139 | - [Feathers + Apollo](https://github.com/swarthout/feathers-apollo) 140 | 141 | #### Other 142 | 143 | - [Best Buy API Playground](https://github.com/BestBuy/api-playground) 144 | - [Live query. Mirror part of a DB on the client.](https://github.com/eddyystop/feathers-live-query) 145 | - [Frontless: Feathers + RiotJS + Turbolinks + Express](https://github.com/nesterow/frontless) Isomorphic application boilerplate for RiotJS. 146 | 147 | ## Projects Using Feathers 148 | 149 | - [Adaptable.io](https://adaptable.io) 150 | - [Akt'n'Map](https://aktnmap.com) 151 | - [APPoint](https://appoint-app.io) 152 | - [BeachfrontDigital](https://beachfront.digital) 153 | - [ContactImpact](https://www.contactimpact.de) 154 | - [County Committee Sunlight Project](https://ccsunlight.org) 155 | - [Cryptosheets](https://app.cryptosheets.com) 156 | - [Foxflow](https://www.foxflow.com/) 157 | - [GenerousTickets](https://generoustickets.com/) 158 | - [Headstart](http://www.headstartapp.com/) 159 | - [HaulHound](https://haulhound.com/) 160 | - [Humaans](https://humaans.io/) 161 | - [JSONLog](https://jsonlog.io) 162 | - [June.ai](https://june.ai/) 163 | - [Koola](http://koola.io/) 164 | - [Krawler](https://kalisio.github.io/krawler/) 165 | - [Shakepay](https://shakepay.co) 166 | - [Sleeker](https://sleeker.co) 167 | - [Simpla](https://www.simpla.io/) 168 | - [Stoplight](https://stoplight.io/) 169 | - [Taxfyle](https://www.taxfyle.com/) 170 | - [Weacast](https://weacast.github.io/weacast-docs/) 171 | - [XREngine](https://github.com/xrfoundation/xrengine) 172 | 173 | ## Plugins 174 | 175 | ### Authentication and Authorization 176 | 177 | - [@feathersjs/authentication](https://docs.feathersjs.com/api/authentication/server.html) ![Official Feathers Module](/img/tiny-feathers-logo.png) 178 | - [@feathersjs/authentication-client](https://docs.feathersjs.com/api/authentication/client.html) ![Official Feathers Module](/img/tiny-feathers-logo.png) 179 | - [@feathersjs/authentication-local](https://docs.feathersjs.com/api/authentication/local.html) ![Official Feathers Module](/img/tiny-feathers-logo.png) 180 | - [@feathersjs/authentication-oauth1](https://docs.feathersjs.com/api/authentication/oauth1.html) ![Official Feathers Module](/img/tiny-feathers-logo.png) 181 | - [@feathersjs/authentication-oauth2](https://docs.feathersjs.com/api/authentication/oauth2.html) ![Official Feathers Module](/img/tiny-feathers-logo.png) 182 | - [feathers-authentication-oidc](https://www.npmjs.com/package/feathers-authentication-oidc) 183 | - [feathers-permissions](https://github.com/feathersjs-ecosystem/feathers-permissions) 184 | - [feathers-authentication-management](https://github.com/feathers-plus/feathers-authentication-management) - User email verification and password reset capabilities to local feathers-authentication (service) 185 | - [feathers-authentication-compatibility](https://www.npmjs.com/package/feathers-authentication-compatibility) - Keep `v0.x` clients compatible with `v1.0+` authentication 186 | - [feathers-casl](https://github.com/fratzinger/feathers-casl) - Add access control with CASL to Feathers. 187 | 188 | ### Caching 189 | 190 | - [feathers-hooks-rediscache](https://github.com/idealley/feathers-hooks-rediscache) - API endpoint caching with Redis. 191 | 192 | ### Database 193 | 194 | - [feathers-elasticsearch](https://github.com/feathersjs-ecosystem/feathers-elasticsearch) ![Official Feathers Module](/img/tiny-feathers-logo.png) 195 | - [feathers-knex](https://github.com/feathersjs-ecosystem/feathers-knex) ![Official Feathers Module](/img/tiny-feathers-logo.png) 196 | - [feathers-localstorage](https://github.com/feathersjs-ecosystem/feathers-localstorage) ![Official Feathers Module](/img/tiny-feathers-logo.png) 197 | - [@feathersjs-offline/localforage](https://github.com/feathersjs-offline/localforage) - A FeathersJS service adapter for `WebSQL`, ÌndexedDB`, or `localStorage` enabling offline-first. 198 | - [feathers-memory](https://github.com/feathersjs-ecosystem/feathers-memory) ![Official Feathers Module](/img/tiny-feathers-logo.png) 199 | - [feathers-mongodb](https://github.com/feathersjs-ecosystem/feathers-mongodb) ![Official Feathers Module](/img/tiny-feathers-logo.png) 200 | - [feathers-mongoose](https://github.com/feathersjs-ecosystem/feathers-mongoose) ![Official Feathers Module](/img/tiny-feathers-logo.png) 201 | - [feathers-nedb](https://github.com/feathersjs-ecosystem/feathers-nedb) ![Official Feathers Module](/img/tiny-feathers-logo.png) 202 | - [feathers-sequelize](https://github.com/feathersjs-ecosystem/feathers-sequelize) ![Official Feathers Module](/img/tiny-feathers-logo.png) 203 | - [feathers-airtable](https://github.com/jonascript/feathers-airtable) - A FeatherJS service adapter to manage your Airtable bases. 204 | - [feathers-arangodb](https://github.com/AnatidaeProject/feathers-arangodb) - A Feathers database adapter for ArangoDB using official NodeJS driver for ArangoDB. 205 | - [feathers-bee-queue](https://github.com/compwright/feathers-bee-queue) - Feathers service adapter for [Bee-Queue](https://www.npmjs.com/package/bee-queue) jobs 206 | - [feathers-cassandra](https://github.com/feathersjs-ecosystem/feathers-cassandra) - Feathers service adapter for Cassandra DB based on Express-Cassandra ORM and CassanKnex query builder 207 | - [feathersjs-couchbase](https://github.com/Sieabah/feathersjs-couchbase) - Full FeathersJS Query API for couchbase-server 208 | - [feathers-dynamodb](https://github.com/jus101/feathers-dynamodb) - Work in progress - help wanted! 209 | - [feathers-json-patch](https://github.com/sibartlett/feathers-json-patch) - Add JSON Patch support to any Feathers database adapter or service. 210 | - [feathers-mongodb-fuzzy-search](https://github.com/arve0/feathers-mongodb-fuzzy-search) - Add fuzzy search to your mongodb service queries 211 | - [feathers-nedb-puzzy-search](https://www.npmjs.com/package/feathers-nedb-puzzy-search) - Add google-like \$search to NeDB service.find queries. 212 | - [feathers-objection](https://github.com/feathersjs-ecosystem/feathers-objection) - A service adapter for [Objection.js](https://vincit.github.io/objection.js) - A minimal SQL ORM built on top of Knex. 213 | - [feathers-seeder](https://www.npmjs.com/package/feathers-seeder) - Straightforward data seeder for FeathersJS services. 214 | - [feathers-solr](https://www.npmjs.com/package/feathers-solr) - Solr Adapter for Feathersjs 215 | - [feathers-lowdb](https://github.com/lwhiteley/feathers-lowdb) - Featherjs database service adapter for [Lowdb](https://github.com/typicode/lowdb) 216 | - [feathers-ottoman](https://github.com/bwgjoseph/feathers-ottoman) - A Ottoman Service for feathers 217 | - [feathers-prisma](https://github.com/ps73/feathers-prisma) - A service adapter for [Prisma](https://www.prisma.io/) (PostgreSQL, MySQL, SQLite, SQL Server,MongoDB) 218 | 219 | #### Database wrappers 220 | - [@feathersjs-offline/owndata-ownnet](https://github.com/feathersjs-offline/owndata-ownnet) - FeatherJS Offline-first realtime database wrapper implements the offline-first `own-data` / `own-net` replication principles on CRUD methods on any Feathers database adapter. 221 | 222 | ### File upload 223 | - [feathers-blob](https://github.com/feathersjs-ecosystem/feathers-blob) - Feathers abstract blob store service (service) 224 | - [feathers-s3](https://github.com/kalisio/feathers-s3) - Manage files through S3-compatible APIs with FeathersJS (service and helpers) 225 | 226 | ### APIs 227 | 228 | - [feathers-unsplash](https://github.com/marshallswain/feathers-unsplash) - Query the Unsplash API with FeatherJS query syntax. 229 | - [feathers-coinapi](https://github.com/johnatspreadstreet/feathers-coinapi) - Query the [CoinAPI](https://docs.coinapi.io) API through FeathersJS 230 | - [feathers-openweathermap](https://github.com/fratzinger/feathers-openweathermap) - Feathers service for interacting with the [OpenWeatherMap API](https://openweathermap.org/api). Use historical, current and forecast weather data. 231 | 232 | ### Documentation 233 | 234 | - [feathers-swagger](https://github.com/feathersjs-ecosystem/feathers-swagger) - Add documentation to your Feathers services and feed them to Swagger UI. (configure) 235 | 236 | ### Email and SMS 237 | 238 | - [feathers-mailer](https://github.com/feathersjs-ecosystem/feathers-mailer) - Feathers mailer service using nodemailer (service) 239 | - [feathers-aws-sns](https://github.com/powerkernel/feathers-aws-sns) - Feathers AWS SNS service to use with Amazon Simple Notification Service (service) 240 | - [feathers-postmark](https://github.com/feathers-plus/feathers-postmark) - A [Postmark](https://postmarkapp.com/) API service adapter for FeathersJS 241 | - [feathers-messagebird](https://github.com/fratzinger/feathers-messagebird) - A [Messagebird](https://messagebird.com/) API service adapter for FeathersJS 242 | 243 | ### Google 244 | 245 | - [feathers-google-maps](https://github.com/DaddyWarbucks/feathers-google-maps) - Feathers service for interacting with the Google Maps API (service) 246 | 247 | ### Hooks 248 | 249 | - [feathers-hooks-commons](https://hooks-common.feathersjs.com/) - Collection of useful Feathers hooks. 250 | - [feathers-fletching](https://daddywarbucks.github.io/feathers-fletching/) - A collection of hooks and utilities to make your FeathersJS apps fly straight and true. 251 | - [feathers-hooks-jsonapify](https://www.npmjs.com/package/feathers-hooks-jsonapify) - Feathers hook for outputting data in a JSON-API-compliant way. 252 | - [feathers-populate-hook](https://www.npmjs.com/package/feathers-populate-hook) - Feathers hook to populate multiple fields with n:m, n:1 or 1:m relations. (hook) 253 | - [feathers-shallow-populate](https://github.com/Mattchewone/feathers-shallow-populate) - The fastest FeathersJS hook for populating relational data 254 | - [feathers-graph-populate](https://github.com/marshallswain/feathers-graph-populate) - Add lightning fast, GraphQL-like populates to your FeathersJS API 255 | - [feathers-trigger](https://github.com/fratzinger/feathers-trigger) - Add triggers and actions to your feathers app for notifications, protocols or logs. 256 | 257 | ### Images 258 | 259 | - [feathers-cloudinary](https://github.com/johnatspreadstreet/feathers-cloudinary) - Utilize the [Cloudinary](https://cloudinary.com/documentation) API for image manipulation/parsing/uploading/editing. 260 | 261 | ### Payments 262 | 263 | - [feathers-stripe](https://github.com/feathersjs-ecosystem/feathers-stripe) 264 | - [feathers-stripe-webhooks](https://github.com/fixate/feathers-stripe-webhooks) 265 | 266 | ### Scaling 267 | 268 | - [mostly-feathers](https://github.com/MostlyJS/mostly-feathers) - Convert your Feathers APIs into microservices 269 | - [mostly-feathers-rest](https://github.com/MostlyJS/mostly-feathers-rest) - Expose your microservice as a RESTful API 270 | - [feathers-sync](https://github.com/feathersjs-ecosystem/feathers-sync) - Synchronize service events between application instances using MongoDB publish/subscribe (configure) 271 | - [feathers-batch](https://github.com/feathersjs-ecosystem/feathers-batch/) - Batch multiple Feathers service calls into one (service) 272 | - [feathers-distributed](https://github.com/kalisio/feathers-distributed) - Distribute your Feathers services as microservices 273 | - [feathers-opossum](https://github.com/sajov/feathers-opossum) - A circuit breaker for Feathers services 274 | - [feathers-http-distributed](https://github.com/dekelev/feathers-http-distributed) - Distribute FeathersJS apps over the network with inter-service communication using HTTP protocol 275 | 276 | ### Search 277 | 278 | - [feathers-algolia](https://github.com/johnatspreadstreet/feathers-algolia) - Utilize the [Algolia](https://www.algolia.com/doc) API for implementing advanced search functionality into your FeathersJS application. 279 | 280 | ### Social media 281 | 282 | - [feathers-authentication-weapp](https://github.com/xixilive/feathers-authentication-weapp) - Wechat mini-program authentication strategy for feathers. 283 | - [feathers-client-weapp](https://github.com/xixilive/feathers-client-weapp) - Adapts feathers rest client for wechat mini-program. 284 | 285 | ### Testing 286 | 287 | - [feathers-factory](https://github.com/JorgenVatle/feathers-factory) - Quickly build reusable random data generators for your Feathers services. 288 | 289 | ### Logging 290 | 291 | - [feathers-splunk](https://www.npmjs.com/package/feathers-splunk) - Integrates the splunk into feathersjs services for logging. 292 | 293 | ### Transports 294 | 295 | - [@feathersjs/express](https://docs.feathersjs.com/api/express.html) ![Official Feathers Module](/img/tiny-feathers-logo.png) 296 | - [@feathersjs/socketio](https://docs.feathersjs.com/api/socketio.html) ![Official Feathers Module](/img/tiny-feathers-logo.png) 297 | - [@feathersjs/rest-client](https://docs.feathersjs.com/api/client/rest.html) ![Official Feathers Module](/img/tiny-feathers-logo.png) 298 | - [@feathersjs/socketio-client](https://docs.feathersjs.com/api/client/socketio.html) ![Official Feathers Module](/img/tiny-feathers-logo.png) 299 | 300 | - [feathers-rabbitmq-transport](https://www.npmjs.com/package/feathers-rabbitmq-transport) - Use a RabbitMQ message broker to communicate with the services of your app. 301 | 302 | ### Utilities 303 | 304 | - [@feathersjs/cli](https://github.com/feathersjs/cli) ![Official Feathers Module](/img/tiny-feathers-logo.png) 305 | - [@feathersjs/client](https://docs.feathersjs.com/api/client.html) ![Official Feathers Module](/img/tiny-feathers-logo.png) 306 | - [@feathersjs/configuration](https://docs.feathersjs.com/api/configuration.html) ![Official Feathers Module](/img/tiny-feathers-logo.png) 307 | - [@feathersjs/errors](https://docs.feathersjs.com/api/errors.html) ![Official Feathers Module](/img/tiny-feathers-logo.png) 308 | - [generator-feathers](https://github.com/feathersjs/generator-feathers) ![Official Feathers Module](/img/tiny-feathers-logo.png) 309 | - [generator-feathers-plugin](https://github.com/feathersjs/generator-feathers-plugin) ![Official Feathers Module](/img/tiny-feathers-logo.png) 310 | 311 | - [feathers-hooks-utils](https://www.npmjs.com/package/feathers-hooks-utils) - Utility library for writing Feathersjs hooks. (hooks) 312 | - [feathers-profiler](https://github.com/feathers-plus/feathers-profiler) 313 | - [feathers-versionate](https://github.com/luke3butler/feathers-versionate) - Utility for creating and working with nested service paths. 314 | - [feathers-findone](https://github.com/fridays/feathers-findone) - Adds a .findOne() method to services in Feathers.js 315 | - [feathers-opentracing](https://github.com/dekelev/feathers-opentracing) - OpenTracing integration for FeathersJS services 316 | 317 | - [fastfeathers](https://github.com/edwardsmarkf/fastfeathers) - collection of bash-shell scripts to run various feathers examples quickly 318 | 319 | - [feathers-kong](https://github.com/dekelev/feathers-kong) - A Feathers service for [Kong API Gateway](https://docs.konghq.com) admin API 320 | 321 | - [feathers-hubspot-webhooks](https://github.com/dekelev/feathers-hubspot-webhooks) - Handle HubSpot webhooks in a FeathersJS service 322 | - [feathers-async-bootstrap](https://github.com/idaho/feathers-async-boot) - Booting feathers application asynchron 323 | 324 | ### Validation 325 | 326 | - [feathers-hooks-validate-joi](https://www.npmjs.com/package/feathers-hooks-validate-joi) - Feathers hook utility for schema validation, sanitization and client notification using Joi. (hook) 327 | - [feathers-validator](https://www.npmjs.com/package/feathers-validator) - A validator for Feathers services. (service) 328 | 329 | ## Mobile Clients 330 | 331 | The Feathers client works with React Native but here is a collection of native libraries/SDKs. 332 | 333 | ## Flutter 334 | 335 | - [FlutterFeathersJs](https://pub.dev/packages/flutter_feathersjs/) - Communicate with your feathers js server from flutter. 336 | 337 | ## iOS 338 | 339 | - [Feathers](https://github.com/startupthekid/feathers-ios) - Feathers compliant SDK written in Swift 3. Supports rest and socket providers. 340 | 341 | ## Android 342 | 343 | ## Frontend frameworks 344 | 345 | ### Framework Agnostic 346 | 347 | - [@feathersjs/client](https://docs.feathersjs.com/api/client.html) ![Official Feathers Module](/img/tiny-feathers-logo.png) - All of the main client packages rolled into one. 348 | - [wings-feathers](https://www.npmjs.com/package/wings-feathers) - A FeathersJS 4-Way realtime reactive data sync and callback observable for any frontend frameworks (ie. React, Vue, Angular) 349 | - [feathers-reactive](https://github.com/feathersjs-ecosystem/feathers-reactive) - Live query streams for Feathers. Turns a Feathers service call into an RxJS observables that automatically updates on real-time events. 350 | - [@feathersjs-offline/owndata-ownnet](https://github.com/feathersjs-offline/owndata-ownnet) - FeatherJS Offline-first realtime database wrapper implements the offline-first `own-data` / `own-net` replication principles on CRUD methods on any Feathers database adapter. 351 | 352 | ### DoneJS 353 | 354 | - [can-connect-feathers](https://www.npmjs.com/package/can-connect-feathers) - Feathers client library for DoneJS (feathers-client) 355 | - [canjs-feathers](https://www.npmjs.com/package/canjs-feathers) - CanJS model implementation that connects to Feathers services through feathers-client. (feathers-client) 356 | 357 | ### React and Redux 358 | 359 | - [figbird](https://humaans.github.io/figbird/) - Declarative and realtime data management for ultra responsive Feathers and React applications. 360 | - [feathers-react](https://github.com/silvestreh/feathers-react) - A FeathersJS real-time React component library to display data 361 | - [feathers-mobx](https://github.com/florianguyonnet/feathers-mobx) - Inplement feathers client into your mobx store 362 | 363 | ### VueJS 364 | 365 | - [feathers-pinia](https://feathers-pinia.pages.dev) - A Feathers Client wrapper that integrates with Pinia. 366 | - [feathers-vuex](https://github.com/feathers-plus/feathers-vuex) - Integration of Feathers services with your Vuex store. 367 | 368 | ### Angular 369 | 370 | - [feathers-reactive](https://github.com/feathersjs-ecosystem/feathers-reactive) - Live query streams for Feathers. Turns a Feathers service call into an RxJS observables that automatically updates on real-time events. 371 | 372 | ### AureliaJS 373 | 374 | - [aurelia-feathers-fusebox](https://github.com/PraveenGandhi/au-i18n-fusebox) - Featehrs v4 client, Aurelia, i18next, semantic ui, fuse-box 375 | 376 | ### React Admin 377 | 378 | - [ra-data-feathers](https://github.com/josx/ra-data-feathers) - A feathers rest/socket.io client for react-admin. (Admin) 379 | 380 | ### Admin on Rest (replaced by React Admin) 381 | 382 | - [Aor-feathers-client](https://github.com/josx/aor-feathers-client) - A feathers rest client for admin-on-rest. (Admin) 383 | -------------------------------------------------------------------------------- /img/awesome-feathers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/feathersjs/awesome-feathersjs/868ef7fff562fada0e650c7f07a70c1525174a7a/img/awesome-feathers.png -------------------------------------------------------------------------------- /img/tiny-feathers-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/feathersjs/awesome-feathersjs/868ef7fff562fada0e650c7f07a70c1525174a7a/img/tiny-feathers-logo.png --------------------------------------------------------------------------------