Rock-n-Prog / web-ts-monorepo-starter-pack

Feature-heavy monorepo boilerplate for web and mobile apps
https://rock-n-prog.github.io/web-ts-monorepo-starter-pack/
MIT License
7 stars 2 forks source link
eslint-config expo husky i18next lint-staged mobile nextjs prisma react react-hook-form react-native react-query storybook styled-components stylelint stylelint-config trpc turborepo web zod

Web-TS Monorepo Starter Pack

Feature-heavy monorepo boilerplate for web and mobile apps, packed with tons of reusable code snippets and defined through a strong software architecture. Kind of inspired by create-t3-turbo.

See the docs, for list of features, guides, explanations.

Made with love by Fabien Roy.

Check the project board for what we want to do next.

Status

Name Type Status
General General General
Web App Build Web App
Mobile App Build Mobile App
Mobile UI Showcase App Build Mobile UI Showcase App
Database Package Build Database Package
API Package Build API Package
Theme Package Build Theme Package
Web UI Package Build Web UI Package
Web Forms Package Build Web Forms Package
Web Locales Package Build Web Locales Package
Web Storage Package Build Web Storage Package
Mobile UI Package Build Mobile UI Package
Mobile Forms Package Build Mobile Forms Package
Mobile Locales Package Build Mobile Locales Package
Mobile Storage Package Build Mobile Storage Package

Apps

Packages

Setup

Install dependencies

pnpm install

Prepare pre-commit hook

pnpm prepare

Setup database

# Copy env file
pnpm env:local

# Run database
docker compose up

# Generate Prisma client
pnpm db:generate

# Apply migrations
pnpm db:migrate:dev

# If wanted, generate example data
pnpm db:seed

Available scripts

Run apps

pnpm dev

# Running a single app and its deps
pnpm dev:web
pnpm dev:mobile

Run storybook

Web UI Library

Storybook will be running on http://localhost:6006;

pnpm storybook:web

Mobile UI Library

UI Showcase will be running on Expo Go.

pnpm storybook:mobile

Build all

pnpm build

Lint all

pnpm lint

# To fix lint
pnpm lint:fix

# For file names
pnpm lint:ls

# To only apply to root
pnpm lint:root
pnpm lint:root:fix

# Fix lint on staged files
pnpm lint:staged

Format

pnpm format

# To fix format
pnpm format:fix

Cleanup files

pnpm yeet