The Bling Boys of Alabama Gospel band singing

Gospel Stack

React Router Monorepo Check the README.md file for instructions on how to get this project deployed.

React Router
TurborepoFly.ioTursoPostgreSQLPrismaDrizzleTailwindShadcn/UIpNPMTypeScript

Getting started

Opinionated defaults help you grow from prototype to production: use Turbo for packages, React Router for routing, Hono for edge-ready APIs, and Drizzle for migrations.

01

Bootstrap the workspace

Requirementspnpm

Scaffold the project with degit, this will clone the repository and clean up the git history. Then cd into your newly created project.

pnpm dlx degit PhilDL/react-router-gospel-stack my-app
cd my-app
02

Set up your stack

When you are in your project folder, install the dependencies and run the setup script.

pnpm install && pnpm run setup

The setup script will prompt you to choose:

  • The name of your monorepo organization (e.g. @my-org)
  • The database you want to use: Turso or PostgreSQL [require Docker]
  • The ORM you want to use: Drizzle or Prisma
03

Start the development server

Start your the developpement server of the webapp and begin developing your application.

pnpm dev --filter=@react-router-gospel-stack/webapp
Read the development guide
Full-stack

Hono server + React Router

We use Hono for its support for any runtime and clean middleware system.

Our server file will set-up dependencies and provide repositories (database access) through the React Router AppLoadContext.

This allows you to use fully resolved repositories in your loaders and actions, and keep dependency injection in one file.

No users yet

An example seed script is provided in the infrastructure package. It will create a test user in the database. You can run it with the following command:

pnpm run db:seed

Do you like this stack?

I would greatly appreciate your feedback and support, consider starring the repository on GitHub and sharing it with your friends.