/parse-next-mono-starter

All in one template monorepo to build and deploy apps faster than ever with modern technologies.

Primary LanguageTypeScriptMIT LicenseMIT

Parse/Next Monorepo Starter (Work in progress)

All in one template monorepo to build and deploy apps faster than ever with modern technologies.

Technologies

  • Parse Server (v5, currently in beta)
  • GraphQL
  • MongoDB
  • Low code, Backend as a server (Baas)
  • Semantic release (release candidate processes)
  • Yarn v2 Monorepo (with lerna pipelines)
  • Next JS 12 (Typescript)
  • Jest (backend testing)
  • Cypress (E2E testing)
  • Storybook
  • SWC support (Jest SWC and Next SWC)
  • GraphQL codegen
  • Fully typed (API types generated from GraphQL files)
  • Github Actions
  • Conventional Commit setup with Husky
  • Code quality with Eslint and Prettier
  • Optimized Docker files
  • Yarn cache Git tracked (offline installs)
  • Release processes through Github Actions
  • Patch processes through Github Actions

Install

yarn

Build packages

yarn bs

Dev a "package"

yarn workspace back dev or cd packages/back && yarn dev

Note: VS code play better in scoped mode than working at the root of the monorepo

code packages/back

Start a new release

  • Ensure that an rc branch exists on your repo
  • Open a PR from master to rc
  • Once RC is merged semantic-release will detects new changes based on commits and will publish some new Git Tag + Github release flagged as pre-release
  • Each pre release trigger a new Docker image with associated tag
  • The new docker image is pushed by the CI on your pre-prod/staging env.
  • Once you team has validated the Pre Release, simply go to Github Releases pages and edit the validated Pre Release and uncheck the "Pre release" checkbox.
  • The CI will publish the release on your production env.

Patch process

TODO