Skip to content

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

License

Notifications You must be signed in to change notification settings

Moumouls/parse-next-mono-starter

Repository files navigation

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