Overview
The FE Monorepo uses Bun as the package manager and includes three main applications: SPA (React), Web (Next.js), and Expo (React Native). This guide covers the essential development workflows for working with the monorepo.Prerequisites
- Node.js 24.14.0 or higher
- Bun 1.3.10 or higher
- For Expo development: Java 17+, EAS CLI (
npm i -g eas-cli)
Running Applications
SPA Application (Port 3001)
The SPA is a React 19 application built with Vite and TanStack Router.Web Application (Port 3002)
The Web app is a Next.js 16 full-stack application.Expo Application
The Expo app is a React Native application built with Expo 53.Prebuild Native Projects
Generate native projects (Android/iOS folders) - required when changing
app.json or installing native libraries:For iOS simulator builds, you’ll get a
.tar.gz file. Install it using bun expo ios:sim:install.Linting and Type Checking
Lint All Packages
Type Check All Apps
Monorepo Commands
The monorepo uses Bun workspaces with filter commands for running scripts in specific packages.Workspace Filters
CI Filters
For CI environments, use the CI-specific filters that omit the--elide-lines=0 flag:
Database Management (Web App)
The Web app uses Drizzle ORM with PostgreSQL.Observability
The monorepo includes OpenTelemetry integration with Grafana for observability.Cleaning the Monorepo
Remove all build artifacts, dependencies, and caches:Development Tips
- Always use exact versions for dependencies
- For Expo, regenerate native projects (
bun prebuild) when changingapp.jsonor installing native libraries - Use
bun --parallelprefix to run multiple scripts concurrently - The source of truth for environment variables is local
.envfiles for SPA/Web, and EAS project environment for Expo
Quick Reference
| Task | Command |
|---|---|
| Install dependencies | bun install |
| Run SPA dev server | bun spa dev |
| Run Web dev server | bun web dev |
| Run Expo dev server | bun expo dev |
| Lint all packages | bun lint |
| Type check all apps | bun typecheck |
| Clean monorepo | bun clean |
| Build SPA | bun spa build |
| Build Web | bun web build |
| Build Expo (Android) | bun expo build:android:dev:local |
