Relay Starter Kit

💥 Monorepo template (seed project) pre-configured with GraphQL API, PostgreSQL, React, Relay, Material UI.
Alternatives To Relay Starter Kit
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Parse Server20,4801,1401023 days ago333November 19, 2023473apache-2.0JavaScript
Parse Server for Node.js / Express
React Firebase Starter4,4884a year ago25July 22, 2016135mitJavaScript
Boilerplate (seed) project for creating web apps with React.js, GraphQL.js and Relay
Relay Starter Kit3,81422 months ago28December 14, 201710mitTypeScript
💥 Monorepo template (seed project) pre-configured with GraphQL API, PostgreSQL, React, Relay, Material UI.
React Universal303
8 years ago4JavaScript
React, redux, react-router, graphql, postgres, koa, universal starter-kit
Rjango70
4 years ago11mitJavaScript
Django boilerplate with GraphQL, serving a Webpack compiled React Relay Modern frontend.
Twentyfive Stars69
3 years ago2mpl-2.0Rust
(On-Hold until they fix Context) GraphQL server written in Rust.
Rpg Boilerplate61
4 years ago21JavaScript
Relay (React), Postgres, and Graphile (GraphQL): A Modern Frontend and API Boilerplate
Awesome Graphql43
4 years ago3
Collection of Links about GraphQL
Node Express Graphql Template31
7 months ago36mitJavaScript
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
Nostr Relay Nestjs26
5 days ago11mitTypeScript
A Nostr relay with a clear architecture and high test coverage
Alternatives To Relay Starter Kit
Select To Compare


Alternative Project Comparisons
Readme

GraphQL
GraphQL API and Relay Starter Kit

Features

    


This project was bootstrapped with Relay Starter Kit. Be sure to join our Discord channel for assistance.

Directory Structure

[`.github`](.github) GitHub configuration including CI/CD workflows<br>.vscode VSCode settings including code snippets, recommended extensions etc.
[`api`](./api) GraphQL API and authentication ([Could SQL](https://cloud.google.com/sql), [Cloud Functions](https://cloud.google.com/functions), [GraphQL.js](https://graphql.org/graphql-js/))<br>app React / Relay web application with CDN rendering (Vite, Cloudflare Workers)
[`db`](./db) database schema, seeds, and migrations ([Cloud SQL](https://cloud.google.com/sql), [Knex.js](https://knexjs.org/))<br>edge Cloudflare Workers CDN endpoint (reverse proxy)
[`env`](./env) environment variables that are used for local development (`local`, `test`, `prod`)<br>img dynamic image resizing (Cloud Functions, Cloud Storage)
[`infra`](./infra) cloud infrastructure configuration ([Terraform](https://www.terraform.io/))<br>scripts automation scripts shared across the project
... add more packages such as worker, admin, mobile, etc.

Requirements

Getting Started

Just clone the repo and run yarn install followed by yarn start:

$ git clone https://github.com/kriasoft/relay-starter-kit.git example
$ cd ./example                  # Change current directory to the newly created one
$ yarn install                  # Install project dependencies
$ yarn setup                    # Configure environment variables
$ yarn db:reset                 # Create or update PostgreSQL database
$ yarn api:start                # Launch GraphQL API and authentication server
$ yarn app:start                # Launch React/Relay front-end app

The API server must become available at http://localhost:8080/api.
The web application front-end must become available at http://localhost:5173/.

How to Deploy

Before you can deploy the app, ensure that the target GCP project exists and that all the environment variables (found in /env/*.env files) are up-to-date, for both test (QA) and prod (production) environments.

If you just created a brand new GCP project, you can configure it by running:

$ yarn gcp:setup --env=test
$ yarn gcp:setup --env=prod

OR, by using Terraform (found in /infra), which one is more convenient for you.

Once a new commit or PR lands onto the main (or, release) branch, it's going to be deployed automatically using a GitHub Actions workflow. Alternatively, you can deploy the app manually by running:

# Build and deploy the GraphQL API (GCF)
$ yarn api:build
$ yarn api:deploy --env=prod

# Build and deploy the web front-end to Cloudflare Workers (CDN)
$ yarn app:build
$ yarn app:deploy --env=prod

# Migrate the target database to the latest version
$ yarn db:migrate --env=prod

Where --env=prod is the target (production) deployment environment, using --env=test when not specified.

References

How to Update

In the case when you kept the original Node.js Starter Kit git history, you can always pull and merge updates from the "upstream" repository back into your project by running:

$ git fetch seed                # Fetch Node.js Starter Kit (upstream) repository
$ git checkout main             # Switch to the main branch (or, master branch)
$ git merge seed/main           # Merge upstream/master into the local branch

In order to update Yarn and other dependencies to the latest versions, run:

$ yarn set version latest       # Upgrade Yarn CLI to the latest version
$ yarn upgrade-interactive      # Bump Node.js dependencies using an interactive mode
$ yarn install                  # Install the updated Node.js dependencies
$ yarn dlx @yarnpkg/sdks vscode # Update VSCode settings

Backers

              

How to Contribute

Anyone and everyone is welcome to contribute. Start by checking out the list of open issues marked help wanted. However, if you decide to get involved, please take a moment to review the guidelines.

License

Copyright 2016-present Kriasoft. This source code is licensed under the MIT license found in the LICENSE file.


Made with by Konstantin Tarkus (@koistya, blog) and contributors.

Popular Relay Projects
Popular Postgresql Projects
Popular Application Programming Interfaces Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Javascript
Typescript
Reactjs
Postgresql
Postgres
Graphql
Terraform
Material Ui
Relay
Starter Kit
Cloudflare