https://github.com/boristb/react-relay-dashboard-api
Backend for react-relay-dashboard
https://github.com/boristb/react-relay-dashboard-api
backend graphql graphql-server nodejs prisma typescript
Last synced: about 2 months ago
JSON representation
Backend for react-relay-dashboard
- Host: GitHub
- URL: https://github.com/boristb/react-relay-dashboard-api
- Owner: BorisTB
- License: mit
- Created: 2019-08-28T17:56:35.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2019-08-30T11:41:25.000Z (almost 7 years ago)
- Last Synced: 2025-06-13T18:47:09.100Z (about 1 year ago)
- Topics: backend, graphql, graphql-server, nodejs, prisma, typescript
- Language: TypeScript
- Homepage: https://relay-dashboard.now.sh/
- Size: 98.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
Boilerplate for an Advanced GraphQL Server w/ TypeScript
🚀 Bootstrap your GraphQL server within seconds
Advanced starter kit for a flexible GraphQL server for TypeScript - based on best practices from the GraphQL community.
## Features
- **Scalable GraphQL server:** The server uses [`graphql-yoga`](https://github.com/prisma/graphql-yoga) which is based on Apollo Server & Express
- **Static type generation**: TypeScript types for GraphQL queries & mutations are generated in a build step
- **Authentication**: Signup and login workflows are ready to use for your users
- **GraphQL database:** Includes GraphQL database binding to [Prisma](https://www.prismagraphql.com) (running on MySQL)
- **Tooling**: Out-of-the-box support for [GraphQL Playground](https://github.com/prisma/graphql-playground) & [query performance tracing](https://github.com/apollographql/apollo-tracing)
- **Extensible**: Simple and flexible [data model](./database/datamodel.graphql) – easy to adjust and extend
- **No configuration overhead**: Preconfigured [`graphql-config`](https://github.com/prisma/graphql-config) setup
- **Realtime updates**: Support for GraphQL subscriptions
Read more about the idea behind GraphQL boilerplates [here](https://blog.graph.cool/graphql-boilerplates-graphql-create-how-to-setup-a-graphql-project-6428be2f3a5).
## Requirements
You need to have the [GraphQL CLI](https://github.com/graphql-cli/graphql-cli) installed to bootstrap your GraphQL server using `graphql create`:
```sh
npm install -g graphql-cli
```
## Getting started
```sh
# 1. Bootstrap GraphQL server in directory `my-app`, based on `typescript-advanced` boilerplate
graphql create my-app --boilerplate typescript-advanced
# 2. When prompted, deploy the Prisma service to a _public cluster_
# 3. Navigate to the new project
cd my-app
# 4. Start server (runs on http://localhost:4000) and open GraphQL Playground
yarn start
```

## Documentation
### Commands
* `yarn start` starts GraphQL server on `http://localhost:4000`
* `yarn prisma ` gives access to local version of Prisma CLI (e.g. `yarn prisma deploy`)
> **Note**: We recommend that you're using `yarn dev` during development as it will give you access to the GraphQL API or your server (defined by the [application schema](./src/schema.graphql)) as well as to the Prisma API directly (defined by the [Prisma database schema](./generated/prisma.graphql)). If you're starting the server with `yarn start`, you'll only be able to access the API of the application schema.
### Project structure

| File name               | Description         
|
| :-- | :-- |
| `├── .env` | Defines environment variables |
| `├── .graphqlconfig.yml` | Configuration file based on [`graphql-config`](https://github.com/prisma/graphql-config) (e.g. used by GraphQL Playground).|
| `└── database ` (_directory_) | _Contains all files that are related to the Prisma database service_ |\
| `  ├── prisma.yml` | The root configuration file for your Prisma database service ([docs](https://www.prismagraphql.com/docs/reference/prisma.yml/overview-and-example-foatho8aip)) |
| `  └── datamodel.graphql` | Defines your data model (written in [GraphQL SDL](https://blog.graph.cool/graphql-sdl-schema-definition-language-6755bcb9ce51)) |
| `└── src ` (_directory_) | _Contains the source files for your GraphQL server_ |
| `  ├── index.ts` | The entry point for your GraphQL server |
| `  ├── schema.graphql` | The **application schema** defining the API exposed to client applications |
| `  ├── resolvers` (_directory_) | _Contains the implementation of the resolvers for the application schema_ |
| `  └── generated` (_directory_) | _Contains generated files_ |
| `    └── prisma-client` (_directory_) | The generated Prisma client |
## Contributing
The GraphQL boilerplates are maintained by the GraphQL community, with official support from the [Apollo](https://www.apollographql.com/) & [Prisma](https://www.prisma.io) teams.
Your feedback is **very helpful**, please share your opinion and thoughts! If you have any questions or want to contribute yourself, join the `#graphql-boilerplate` channel on our [Slack](https://slack.prisma.io/).