An open API service indexing awesome lists of open source software.

https://github.com/vantaboard/trillizo-api


https://github.com/vantaboard/trillizo-api

Last synced: 11 months ago
JSON representation

Awesome Lists containing this project

README

          







Node Express GraphQL Template



An enterprise Express GraphQL template application built using nodejs showcasing - Testing Strategy, DB migrations and seeding, integration with an ORM, containerization using Docker, GraphQL Interface, support for GraphQL relay, integration with graphql-sequelize, support for aggregation queries, PostgreSQL

---




Expert teams of digital product strategists, developers, and designers.









---

We’re always looking for people who value their work, so come and join us. We are hiring!

![Node Express GraphQL Template CI](https://github.com/wednesday-solutions/node-express-graphql-template/workflows/Node%20Express%20GraphQL%20Template%20CI/badge.svg)








## A relay compliant server built using

- Node
- Express
- Postgres
- GraphQL
- Docker

## Dependencies

### graphql-sequelize

Please go through the [documentation](https://github.com/mickhansen/graphql-sequelize) to understand the control flow.

Relay support has been added by following [this](https://github.com/mickhansen/graphql-sequelize/blob/master/docs/relay.md) documentation

## Setup

### Setup and run locally using

```
./setup-local.sh
```

### Build and run docker container locally

```
docker-compose down
docker-compose build
docker-compose up
```

### Develop locally

```
yarn start:local
```

### Start dev server

```
yarn dev
```

### Start prod server

```
yarn prod
```

### Build the application

```
yarn build
```

### Support for circuit-breaking

- Support for circuit breaking has been added using [opossum](https://github.com/nodeshift/opossum)

### Slack Integration

- Support for sending slack alerts on desired errors has been added using [slack-notify](https://www.npmjs.com/package/slack-notify)

### Out of the box Redis support

- Support for caching added with [redis](https://redis.io/)

### Custom Mutations

- Support for custom mutations has been added along with support for updating only specific fields

### Scheduling a Job

- Support for adding a job and queuing it has been added using [bull](https://github.com/OptimalBits/bull)

### Subscriptions

- GraphQl subscriptions have been added using [apollo-server](https://www.npmjs.com/package/apollo-server-express) & [graphql-redis-subscriptions](https://www.npmjs.com/package/graphql-redis-subscriptions)

### Aggregate Caching

- Support for caching of aggregate data added using Redis