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.
apps/web
: Next.js web appapps/mobile
: Expo mobile appapps/mobile-ui-showcase
: Expo mobile app for showcasing mobile UI
packages/db
: Prisma client and models definitionspackages/api
: tRPC routes and context definitionspackages/theme
: Theme definitionpackages/web-ui
: React components for web apppackages/web/forms
: React form-specific components for forms apppackages/web/locales
: Locale translations for web apppackages/web/storage
: Storage utilities for web apppackages/mobile/ui
: React Native components for mobile apppackages/mobile/forms
: React Native form-specific components for forms apppackages/mobile/locales
: Locale translations for mobile apppackages/mobile/storage
: Storage utilities for mobile apppackages/config/eslint/
: Shared eslint configpackages/confgi/stylelint
: Shared stylelint configpackages/config/tsconfig
: Shared tsconfig
pnpm install
pnpm prepare
# 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
pnpm dev
# Running a single app and its deps
pnpm dev:web
pnpm dev:mobile
Storybook will be running on http://localhost:6006;
pnpm storybook:web
UI Showcase will be running on Expo Go.
pnpm storybook:mobile
pnpm build
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
pnpm format
# To fix format
pnpm format:fix
pnpm yeet