wycliffepeart / brainstrike-typescript-starter

Full stack starter kit for TypeScript(Node.js + React.js) + Apollo GraphQL + TypeORM

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

brainstrike-typescript-starter

Node Server Test CI Node Client Test CI

Starter kit for Node.js + Typescript + React.js + Apollo GraphQL + TypeORM

Features

  • Typescript Node + React
  • Apollo GraphQL (apollo-client 3.0)
  • TypeORM w/ testing connections (Docker-Compose Postgres + GitHub Actions)
  • GraphQL Code Generator
  • Material UI
  • Unit/Integration/E2E tests
  • React client with Hooks
  • Prettier + ESLint configuration

Detailed Installation + Instructions to come.

NOTE: VS Code settings for ESLint+Prettier (consequence of mono repo structure)

"eslint.workingDirectories": [ "./client", "./server" ]

Prerequisites

Tested with Node 10+, Postgres 11+ required for database. Docker-compose provided for Postgres. Should be easy to adapt examples to other databases... may update database support in future versions.

Folders

This is setup like a mono-repo with seperate folders for clients and server, each with their own package and config. You could set these up in their own repos, switch to each folder to start the respective packages.

Clients under construction

  • client = Material UI based React TypeScript (create-react-app non ejected), using GraphQL Code Generator for hooks + TypeScript Types. Apollo Client 3.0 beta.

  • server - Apollo Server using GraphQL Code Generator for resolvers + types. Using TypeORM for database access, working examples of relay style cursor pagination, unit, integration and e2e tests.

About

Full stack starter kit for TypeScript(Node.js + React.js) + Apollo GraphQL + TypeORM

License:MIT License


Languages

Language:TypeScript 96.1%Language:JavaScript 2.4%Language:HTML 1.0%Language:Shell 0.3%Language:CSS 0.2%