- Solito V2 for linking and routing abstraction (credit @nandorojo)
- Expo Router in expo - currently beta, but seems like it will be the future.
- Clerk.dev auth working for both nextjs, expo, and tRPC - nextauth left in the project with dependancies removed and commented out. You can easily reenable if desired, or when nextauth is updated to support expo.
Ever wondered how to migrate your T3 application into a monorepo? Stop right here! This is the perfect starter repo to get you running with the perfect stack!
It uses Turborepo and contains:
.github
└─ workflows
└─ CI with pnpm cache setup
.vscode
└─ Recommended extensions and settings for VSCode users
apps
├─ expo
| ├─ Expo SDK 46
| ├─ React Native using React 18
| ├─ Tailwind using Nativewind
| └─ Typesafe API calls using tRPC
└─ next.js
├─ Next.js 13
├─ React 18
├─ TailwindCSS
└─ E2E Typesafe API Server & Client
packages
├─ api
| └─ tRPC v10 router definition
├─ auth
└─ COMMENTED OUT, BUT CAN BE RE-ENABLED
└─ db
└─ typesafe db-calls using Prisma
To get it running, follow the steps below:
# Install dependencies
pnpm i
# In packages/db/prisma update schema.prisma provider to use sqlite
# or use your own database provider
- provider = "postgresql"
+ provider = "sqlite"
# Configure environment variables.
# There is an `.env.example` in the root directory you can use for reference
cp .env.example .env
# Add clerk.dev public url to apps/expo/src/_app.tsx
# Push the Prisma schema to your database
pnpm db-push
Note: If you want to use a physical phone with Expo Go, just run
pnpm dev
and scan the QR-code.