Source: https://seerepo.com/r/feathersjs/feathers/built
Markdown source: https://seerepo.com/r/feathersjs/feathers/built.md
Description: feathers is a TypeScript repo built with Express, Koa, koa-body, and koa-compose. It stores its data in MongoDB and reaches it with knex.

# What is feathers built with?

feathers is a TypeScript repo built with Express, Koa, koa-body, and koa-compose. It stores its data in MongoDB, reaches it with knex, signs people in with bcryptjs, grant, tough-cookie, cookie-session, jsonwebtoken, and 1 more, and validates its data with Ajv, ajv-formats, and @sinclair/typebox. It has 39,483 written lines, with 105 test files.

Read on November 8, 2026, at commit 8c007bc.

Repository: https://github.com/feathersjs/feathers

## Support (/)

### Other

- **Axios**: 1 file

## Support (packages/authentication-client)

### Other

- **Axios**: 1 file
- **socket.io-client**: 1 file

## Backend (packages/authentication-local)

### Sign-in

- **[bcryptjs](https://seerepo.com/uses/bcryptjs)**: 1 file

## Support (packages/authentication-local)

### Other

- **Lodash**: 3 files

## Backend (packages/authentication-oauth)

### The base

- **[Express](https://seerepo.com/uses/express)**: 1 file · [in packages/express/package.json](https://github.com/feathersjs/feathers/blob/8c007bc43e30106bee7158e7f699089232e6e765/packages/express/package.json)

### Sign-in

- **grant**: 3 files
- **[tough-cookie](https://seerepo.com/uses/tough-cookie)**: 3 files
- **cookie-session**: 1 file
- **[jsonwebtoken](https://seerepo.com/uses/jsonwebtoken)**: 1 file
- **koa-session**: 1 file

## Support (packages/authentication-oauth)

### Other

- **Axios**: 3 files
- **qs**: 1 file

## Backend (packages/authentication)

### Sign-in

- **[jsonwebtoken](https://seerepo.com/uses/jsonwebtoken)**: 2 files

## Support (packages/authentication)

### Other

- **Lodash**: 2 files
- **uuid**: 1 file

## Support (packages/cli)

### Tools

- **commander**: 1 file

### Other

- **chalk**: 1 file

## Support (packages/client)

### Tools

- **Webpack**: 1 file
- **webpack-merge**: 1 file

### Other

- **node-fetch**: 1 file
- **socket.io-client**: 1 file
- **superagent**: 1 file

## Support (packages/configuration)

### Other

- **config**: 1 file

## Backend (packages/express)

### The base

- **[Express](https://seerepo.com/uses/express)**: 5 files · [in packages/express/package.json](https://github.com/feathersjs/feathers/blob/8c007bc43e30106bee7158e7f699089232e6e765/packages/express/package.json)

## Support (packages/express)

### Other

- **Axios**: 4 files
- **compression**: 1 file
- **cors**: 1 file
- **Lodash**: 1 file

## Support (packages/feathers)

### Other

- **events**: 4 files

## Support (packages/generators)

### Tools

- **Prettier**: 1 file
- **type-fest**: 1 file
- **TypeScript**: 1 file

### Other

- **chalk**: 4 files
- **Lodash**: 2 files

## Backend (packages/knex)

### Data access

- **[knex](https://seerepo.com/uses/knex)**: 3 files

## Backend (packages/koa)

### The base

- **[Koa](https://seerepo.com/uses/koa)**: 2 files · [in packages/koa/package.json](https://github.com/feathersjs/feathers/blob/8c007bc43e30106bee7158e7f699089232e6e765/packages/koa/package.json)

## Support (packages/koa)

### The base

- **koa-body**: 1 file
- **koa-compose**: 1 file

### Other

- **Axios**: 2 files
- **@koa/cors**: 1 file
- **koa-static**: 1 file

## Support (packages/memory)

### Other

- **sift**: 1 file

## Backend (packages/mongodb)

### Data

- **[MongoDB](https://seerepo.com/uses/mongodb)**: 3 files · [packages/mongodb/src/error-handler.ts, line 2](https://github.com/feathersjs/feathers/blob/8c007bc43e30106bee7158e7f699089232e6e765/packages/mongodb/src/error-handler.ts#L2)

## Support (packages/rest-client)

### Other

- **node-fetch**: 2 files
- **Axios**: 1 file
- **qs**: 1 file
- **superagent**: 1 file

## Support (packages/schema)

### Validation

- **[Ajv](https://seerepo.com/uses/ajv)**: 1 file
- **[ajv-formats](https://seerepo.com/uses/ajv-formats)**: 1 file

### Tools

- **json-schema-to-ts**: 4 files

## Support (packages/socketio-client)

### Other

- **socket.io-client**: 1 file

## Backend (packages/socketio)

### The base

- **[Express](https://seerepo.com/uses/express)**: 1 file · [in packages/express/package.json](https://github.com/feathersjs/feathers/blob/8c007bc43e30106bee7158e7f699089232e6e765/packages/express/package.json)

## Support (packages/socketio)

### Other

- **Socket.io**: 2 files
- **socket.io-client**: 2 files
- **Axios**: 1 file
- **Lodash**: 1 file

## Support (packages/transport-commons)

### Other

- **events**: 2 files
- **Lodash**: 2 files
- **encodeurl**: 1 file

## Support (packages/typebox)

### Validation

- **@sinclair/typebox**: 2 files

## Other repos with a similar stack

- [strapi/strapi](https://seerepo.com/r/strapi/strapi/built): Koa, koa-body, koa-compose, bcryptjs, jsonwebtoken, koa-session, knex, Ajv, ajv-formats · [Compare](https://seerepo.com/compare/feathersjs/feathers/vs/strapi/strapi)
- [Budibase/budibase](https://seerepo.com/r/Budibase/budibase/built): Koa, koa-body, MongoDB, jsonwebtoken, koa-session, knex, Ajv · [Compare](https://seerepo.com/compare/Budibase/budibase/vs/feathersjs/feathers)
- [nocodb/nocodb](https://seerepo.com/r/nocodb/nocodb/built): Express, bcryptjs, jsonwebtoken, knex, Ajv, ajv-formats · [Compare](https://seerepo.com/compare/feathersjs/feathers/vs/nocodb/nocodb)
- [TryGhost/Ghost](https://seerepo.com/r/TryGhost/Ghost/built): Express, cookie-session, jsonwebtoken, knex, Ajv, ajv-formats · [Compare](https://seerepo.com/compare/feathersjs/feathers/vs/TryGhost/Ghost)
- [n8n-io/n8n](https://seerepo.com/r/n8n-io/n8n/built): Express, MongoDB, bcryptjs, jsonwebtoken, Ajv · [Compare](https://seerepo.com/compare/feathersjs/feathers/vs/n8n-io/n8n)
- [usebruno/bruno](https://seerepo.com/r/usebruno/bruno/built): Express, tough-cookie, jsonwebtoken, Ajv, ajv-formats · [Compare](https://seerepo.com/compare/feathersjs/feathers/vs/usebruno/bruno)

## Frequently asked questions

### What language is feathers written in?

feathers is written in TypeScript, with 39,483 written lines.

### What framework does feathers use?

feathers is built with Express, Koa, koa-body, and koa-compose.

The proof: [in packages/express/package.json](https://github.com/feathersjs/feathers/blob/8c007bc43e30106bee7158e7f699089232e6e765/packages/express/package.json)

### What database does feathers use?

feathers stores its data in MongoDB and reaches it with knex.

The proof: [packages/mongodb/src/error-handler.ts, line 2](https://github.com/feathersjs/feathers/blob/8c007bc43e30106bee7158e7f699089232e6e765/packages/mongodb/src/error-handler.ts#L2)

### What does feathers sign people in with?

feathers signs people in with bcryptjs, grant, tough-cookie, cookie-session, jsonwebtoken, and koa-session.

### Does feathers have tests?

Yes. feathers has 105 test files.

### Which repos have a stack like feathers's?

The ones that share most of its stack: strapi/strapi, Budibase/budibase, and nocodb/nocodb.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
