# feathersjs/feathers

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/feathersjs-feathers).**

15,253 stars · 798 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/feathersjs/feathers
- Homepage: https://feathersjs.com
- awesome-repositories: https://awesome-repositories.com/repository/feathersjs-feathers.md

## Topics

`browser` `feathers` `feathersjs` `framework` `javascript` `nodejs` `react-native` `real-time` `typescript`

## Description

Feathers is a database-agnostic Node.js application framework designed for building scalable backend systems. It functions as a real-time API framework that provides a server implementation for both REST endpoints and WebSocket connections.

The framework decouples application logic from the underlying database technology and communication protocols. This allows a single service to handle both HTTP and Socket requests while separating business logic from the specific data persistence layer.

The system organizes data operations through a standardized service-based interface and utilizes hook-based lifecycle interceptors to execute custom logic. It further supports event-driven synchronization to push data changes to connected clients instantly and employs a middleware-based request pipeline for handling authentication and validation.

## Tags

### Software Engineering & Architecture

- [Database-Agnostic Frameworks](https://awesome-repositories.com/f/software-engineering-architecture/database-agnostic-frameworks.md) — Separates application logic from the underlying database technology through a consistent, agnostic interface.
- [Standardized Service Interfaces](https://awesome-repositories.com/f/software-engineering-architecture/standardized-service-interfaces.md) — Standardizes data operations through a consistent set of service methods across the entire application.

### Data & Databases

- [Database Abstraction Layers](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-persistence-storage/data-storage-architectures/schema-agnostic-storage/database-abstraction-layers.md) — Offers unified interfaces for connecting applications to multiple relational and document-oriented storage backends.
- [Data Storage Adapters](https://awesome-repositories.com/f/data-databases/data-storage-adapters.md) — Implements modular patterns that abstract database interactions, allowing interchangeable storage drivers.
- [Database Integration Layers](https://awesome-repositories.com/f/data-databases/database-integration-layers.md) — Provides an integration layer that connects application logic to various data storage systems for reliable persistence. ([source](https://github.com/feathersjs/feathers#readme))
- [Service](https://awesome-repositories.com/f/data-databases/schema-extensions/lifecycle-interceptors/service.md) — Provides a hook system to execute custom logic before and after service method calls.

### Networking & Communication

- [Hybrid REST and WebSocket Servers](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-computing/communication-protocols/websocket-implementations/hybrid-rest-and-websocket-servers.md) — Provides a server implementation that simultaneously offers standard REST endpoints and live WebSocket connections.
- [Protocol-Agnostic Transport Layers](https://awesome-repositories.com/f/networking-communication/protocol-agnostic-transport-layers.md) — Decouples application logic from the communication protocol, allowing services to handle both HTTP and Socket requests seamlessly.
- [Event-Driven Synchronization](https://awesome-repositories.com/f/networking-communication/push-notification-servers/event-driven-synchronization.md) — Ships mechanisms that trigger immediate data synchronization across clients via internal service events.
- [Middleware-Based Request Pipelines](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/request-processing-architectures/request-processing/middleware-based-request-pipelines.md) — Implements modular chains of pluggable components to handle authentication, validation, and logging for all requests.

### Web Development

- [Node.js Server Frameworks](https://awesome-repositories.com/f/web-development/backend-development/web-frameworks/node-js-server-frameworks.md) — Provides a structured architectural framework for building scalable Node.js server applications.
- [Full-Stack Web Frameworks](https://awesome-repositories.com/f/web-development/full-stack-web-frameworks.md) — Serves as a full-stack framework for building scalable server-side environments using JavaScript or TypeScript.
- [Real-Time Communication](https://awesome-repositories.com/f/web-development/real-time-communication.md) — Implements technologies for persistent, bidirectional data streaming and instant push updates to clients. ([source](https://github.com/feathersjs/feathers#readme))
- [Web API Frameworks](https://awesome-repositories.com/f/web-development/web-api-frameworks.md) — Provides a comprehensive framework for building structured HTTP-based interfaces and RESTful web services. ([source](https://github.com/feathersjs/feathers#readme))
- [Real-Time Frameworks](https://awesome-repositories.com/f/web-development/web-applications/real-time-frameworks.md) — Provides native support for persistent bidirectional communication and live data broadcasting between server and clients.
- [RESTful API Development](https://awesome-repositories.com/f/web-development/restful-api-development.md) — Enables the development of scalable web services using standard HTTP methods and RESTful architectural styles.

### Part of an Awesome List

- [Web Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/web-frameworks.md) — Microservice-oriented framework built on Express.
