turbo-payload
Turborepo monorepo running Payload 3 with Next.js, Astro and Svelte frontends
Turborepo monorepo pairing an Astro frontend with a Payload CMS backend
Sets up a Turborepo monorepo with an api app running Payload CMS and a web app built with Astro. Styling uses TailwindCSS and the code is TypeScript throughout, with ESLint and Prettier configured. It requires Node.js, pnpm and Turborepo, and an env file based on the provided example. Payload runs on port 3000 and Astro on port 3001 in development.
A web + headless CMS turborepo
This repository is a GitHub template: create your own copy of it in one click.
Create a repository from this templateThis is a starter Astro + Payload CMS project using Turborepo.
Astro allow you to use your favorite UI components and libraries. Mix and match React, Preact, Svelte, Vue, SolidJS, AlpineJS, and Lit to build your own website.
I need a headless CMS that is easy to use with TypeScript support. PayloadCMS work really well in this use case.
This Turborepo includes the following packages/apps:
api: a Payload appweb: an Astro appeslint-config-custom: eslint configurations (includes eslint-config-prettier and eslint-configg-turbo)Each package/app is 100% TypeScript.
This Turborepo has some additional tools already setup for you:
Install nodejs, pnpm and turborepo on your local machine
Create a .env file in the root folder, you can use the .env.example file as an example
I use pnpm for this project.
Run the following command:
pnpm installl
pnpm dev
By default, the payloadCMS will run on port 3000, and Astro will be served on port 3001.
pnpm build
pnpm serve
To fully utilize the type safe features, manually generate the types for PayloadCMS by runng pnpm generate:types
Then, you can import the types easily as simple as
import type { User } from "@turbopress/api/types";
Turborepo monorepo running Payload 3 with Next.js, Astro and Svelte frontends
Starter combining Astro, Payload 3 and MongoDB with internationalization support
Astro frontend and Payload CMS with MongoDB, run in Docker and deployed through GitHub Actions