Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chriskalmar/shyft
⬡ Shyft is a server-side framework for building powerful GraphQL APIs 🚀
https://github.com/chriskalmar/shyft
acl api database finite-state-machine generator graphql graphql-apis migrations model mutations permissions postgres shyft validation workflows
Last synced: 1 day ago
JSON representation
⬡ Shyft is a server-side framework for building powerful GraphQL APIs 🚀
- Host: GitHub
- URL: https://github.com/chriskalmar/shyft
- Owner: chriskalmar
- License: mit
- Created: 2018-08-14T06:57:00.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-12-14T18:37:26.000Z (12 days ago)
- Last Synced: 2024-12-14T19:31:33.160Z (12 days ago)
- Topics: acl, api, database, finite-state-machine, generator, graphql, graphql-apis, migrations, model, mutations, permissions, postgres, shyft, validation, workflows
- Language: TypeScript
- Homepage: https://shyft.dev
- Size: 3.73 MB
- Stars: 52
- Watchers: 3
- Forks: 2
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Shyft
[![Build Status](https://travis-ci.com/chriskalmar/shyft.svg?branch=master)](https://travis-ci.com/chriskalmar/shyft)
[![npm version](https://badge.fury.io/js/shyft.svg)](https://badge.fury.io/js/shyft)
[![codecov](https://codecov.io/gh/chriskalmar/shyft/branch/master/graph/badge.svg)](https://codecov.io/gh/chriskalmar/shyft)Shyft is a server-side framework for building powerful GraphQL APIs.
## Features
- convert data model into a GraphQL API
- CRUD query/mutations out of the box
- flexible extension of mutations
- sync data model with database and provide migrations
- complex data fetching with multi-level filters
- offset/limit and cursor-based pagination
- extremely dynamic permission engine based on roles and data lookups
- workflows (finite state machines) with fine-grained control over access and input fields
- extensible with custom queries and mutations (actions)
- internationalization (i18n) included
- generate mock data based on data type or custom functions
- input validation with any validation framework
- derived fields
- hooks (pre- and post-processors)## Install
With yarn:
```
yarn add shyft
```or using npm:
```
npm install -S shyft
```GraphQL is a peer dependency. Install it with:
```
yarn add graphql
```## Tests
Run once:
```
yarn run test
```Run in watch mode:
```
yarn run test-watch
```## Integration Tests
Run once:
```
yarn run test-integration
```Run in watch mode:
```
yarn run test-integration-watch
```