Skip to content

Repository files navigation

HeySport Monorepo

A Turborepo monorepo containing a React Native/Expo mobile app and a Hono API server.

Project Structure

heysport/
├── apps/
│   ├── mobile/          # Expo/React Native mobile app
│   └── api/             # Hono API server (runs on Bun)
├── packages/
│   ├── typescript-config/  # Shared TypeScript configurations
│   └── types/              # Shared TypeScript types
├── turbo.json
├── package.json
└── pnpm-workspace.yaml

Prerequisites

  • Node.js >= 18.0.0
  • pnpm >= 9.0.0
  • Bun >= 1.0.0 (for the API server)

Getting Started

1. Install Dependencies

pnpm install

2. Development

Run all apps in development mode:

pnpm dev

This will start:

Run Individual Apps

Mobile App:

cd apps/mobile
pnpm dev
# or for specific platforms
pnpm android
pnpm ios
pnpm web

API Server:

cd apps/api
bun dev

Available Scripts

From the root directory:

  • pnpm dev - Start all apps in development mode
  • pnpm build - Build all apps
  • pnpm lint - Lint all apps
  • pnpm type-check - Type check all apps
  • pnpm clean - Clean all build artifacts

Workspace Packages

Apps

  • @repo/mobile - React Native mobile app built with Expo
  • @repo/api - Hono API server running on Bun

Packages

  • @repo/typescript-config - Shared TypeScript configurations
  • @repo/types - Shared TypeScript types and interfaces

Tech Stack

  • Monorepo: Turborepo
  • Package Manager: pnpm
  • Mobile: Expo, React Native, TypeScript
  • API: Hono, Bun, TypeScript
  • Shared: TypeScript, shared types

API Endpoints

The API server (http://localhost:3001) exposes the following endpoints:

  • GET / - Health check
  • GET /api/users/:id - Get user by ID
  • POST /api/users - Create a new user

Mobile App

The mobile app is built with Expo and React Native, using TypeScript. It includes:

  • Modern React Native setup
  • TypeScript support
  • Shared types from the monorepo
  • Metro bundler configured for monorepo

Port Configuration

See PORTS.md for detailed port configuration and conflict resolution.

  • API: Port 3001
  • Expo Metro: Port 8082

Contributing

  1. Make changes in the appropriate package
  2. Run pnpm type-check to ensure type safety
  3. Test your changes locally
  4. Submit a pull request

Documentation

License

Private project - All rights reserved

About

A self-coding mobile agent

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages