Summary Introduction Guides About Feathers Features Philosophy Feathers vs. X The Basics Introduction What not to worry about Installing the Examples Basic Feathers A database connector A REST API server A Feathers REST client A Feathers WebSocket client The "a-ha!" moment Hooks middleware All about hooks Hooks, part 1 Hooks, part 2 Writing your own hooks Testing hooks Real-time The Generator (CLI) Generate the application Add authentication Add the teams service Add the populate hook Run the application A Chat Application Creating the application Generating a service Building a frontend Adding authentication Processing data Frameworks React and React Native VueJS Angular Others Authentication How JWT works What's New (external link) Migration Guide (external link) Recipe: Custom Login Response Recipe: Custom JWT Payload Recipe: Mixed Auth Endpoints Recipe: Basic OAuth Offline first Strategies Snapshot Realtime Optimistic mutation Own-data, own-net Sync-data, sync-net Configure snapshot Configure realtime Configure publication Example snapshot Example realtime & publication Example optimistic mutation Tests as examples More examples Advanced topics Debugging Configuration File uploads Creating a Feathers plugin Seeding services Using a view engine Scaling API Core Application Services Hooks Common Hooks Client Events Errors Transports REST Express Socket.io Primus Authentication Server Client Local Local management JWT OAuth1 OAuth2 Hooks Databases Common API Querying Memory NeDb LocalStorage MongoDB Mongoose Sequelize Knex RethinkDB Elasticsearch Security Ecosystem Help FAQ Contributing License