Skip to content

Full Stack Monorepo Mobile Development Starter Kit

Notifications You must be signed in to change notification settings

mandrillxx/turbo-expo-starter-kit

Repository files navigation

🚀 Full-Stack Turborepo Starter

A modern, feature-rich monorepo starter template built with Turborepo, combining a React Native mobile app with a type-safe backend.

✨ Features

  • 📱 Mobile App - React Native with Expo SDK 52
  • 🔒 Authentication - Secure auth flow using Better-Auth
  • 🎯 Type Safety - End-to-end typesafe APIs with tRPC
  • 📦 Database - Type-safe ORM with Drizzle
  • 🎨 UI Components - Shared UI library for consistent design
  • 🚄� Styling - Tailwind CSS for React Native with NativeWind
  • 🚄 Fast API - Lightweight Hono server
  • ⚡️ Performance - Turborepo for optimal build performance

📦 What's Inside?

Apps

  • mobile: React Native app built with Expo
  • api: Backend API server using Hono

Packages

  • @repo/auth: Authentication utilities and hooks
  • @repo/db: Database schema and Drizzle ORM setup
  • @repo/trpc: tRPC router definitions and procedures
  • @repo/ui: Shared React Native components
  • @repo/typescript: Shared TypeScript configurations

🚀 Getting Started

  1. Clone the repository:
git clone https://github.com/mandrillxx/turbo-expo-starter-kit.git
cd turbo-expo-starter-kit
  1. Install dependencies:
pnpm install
  1. Set up your environment variables:
cp .env.example .env
  1. Start the development servers:
# Start all applications
pnpm dev

📱 Mobile Development

The mobile app is built with Expo. To run it:

  1. Build development app with eas
eas build --platform ios --profile development
  1. Start the mobile app dev server:
pnpm dev
  1. Scan the QR code with Camera app (iOS)

🛠 Development Tools

This Turborepo includes:

  • 🔍 TypeScript for static type checking
  • 📝 ESLint for code linting
  • 💅 Prettier for code formatting
  • 🧪 Testing Library for component testing
  • 📱 Expo for mobile development
  • 🔄 tRPC for type-safe APIs
  • 🎨 NativeWind for Tailwind CSS styling in React Native

📚 Useful Commands

# Build all applications and packages
pnpm build

# Run development servers
pnpm dev

# Lint all projects
pnpm lint

# Clean all builds
pnpm clean

🏗 Project Structure

.
├── apps
│   ├── mobile          # React Native mobile app
│   └── api             # Hono API server
├── packages
│   ├── auth           # Authentication package
│   ├── db             # Database package
│   ├── trpc           # tRPC package
│   └── ui             # Shared UI components
└── package.json

🔐 Authentication

This template uses Better-Auth for secure authentication, supporting:

  • 🔑 Email/Password authentication
  • 🌐 OAuth providers (Google, GitHub, etc.)
  • 📱 Mobile-specific auth flows
  • 🔒 Secure session management

📝 License

MIT


Built with ❤️ using Turborepo

About

Full Stack Monorepo Mobile Development Starter Kit

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published