Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mandrillxx/turbo-expo-starter-kit

Full Stack Monorepo Mobile Development Starter Kit
https://github.com/mandrillxx/turbo-expo-starter-kit

betterauth expo hono mobile nativewind turbo typescript

Last synced: about 1 month ago
JSON representation

Full Stack Monorepo Mobile Development Starter Kit

Awesome Lists containing this project

README

        

# ๐Ÿš€ 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:

```bash
git clone https://github.com/mandrillxx/turbo-expo-starter-kit.git
cd turbo-expo-starter-kit
```

2. Install dependencies:

```bash
pnpm install
```

3. Set up your environment variables:

```bash
cp .env.example .env
```

4. Start the development servers:

```bash
# Start all applications
pnpm dev
```

## ๐Ÿ“ฑ Mobile Development

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

1. Build development app with eas
```bash
eas build --platform ios --profile development
```
2. Start the mobile app dev server:

```bash
pnpm dev
```
3. 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

```bash
# 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](https://www.better-auth.com) 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](https://turbo.build/repo)