🎰 Bankroll Betty Development Setup Guide

 


🎰 Bankroll Betty Development Setup Guide

Complete walkthrough for setting up and building the Bankroll Betty mobile app with all commands, errors, and solutions

📝 Release Notes Creation

Created release notes featuring Expanded Poker Tutorials and Beginner and Advanced Quiz features. The release notes were formatted for app store submission with proper en-US localization tags.

📦 Step 1: Initial Installation Attempt

Critical Discovery: This project uses Bun as the package manager, not npm! Initial npm install attempts failed with dependency conflicts.

❌ npm install Error:

npm error ERESOLVE unable to resolve dependency tree npm error Found: react@19.1.0 npm error Could not resolve dependency: npm error peer react@"^16.5.1 || ^17.0.0 || ^18.0.0" from lucide-react-native@0.475.0

npm couldn't resolve the conflict between React 19 and lucide-react-native's peer dependency requirements.

🚀 Step 2: Installing Bun on Windows

Check if Bun is installed:

bun --version

Error: The term 'bun' is not recognized as the name of a cmdlet, function, script file, or operable program.

✅ Install Bun on Windows:

powershell -c "irm bun.sh/install.ps1 | iex"

Success Output:

Bun 1.3.5 was installed successfully!
The binary is located at C:\Users\capta\.bun\bin\bun.exe

💡 Note: Restart your terminal/editor, then type "bun"

📥 Step 3: Installing Dependencies with Bun

PowerShell PATH Issue:

If bun isn't recognized in your current PowerShell session, add it to PATH temporarily:

$env:Path += ";C:\Users\capta\.bun\bin"; bun install

⚠️ PowerShell Syntax Error (if using &&):

The token '&&' is not a valid statement separator in this version.

Solution: Use semicolons (;) instead of && in PowerShell

✅ Correct Installation Command:

cd C:\Users\capta\Desktop\bankroll-betty; $env:Path += ";C:\Users\capta\.bun\bin"; bun install

Success Output:

bun install v1.3.5 (1e86cebd) + expo@54.0.28 + react@19.1.0 + react-native@0.81.5 ... 1024 packages installed [100.16s] Saved lockfile

✅ Dependencies installed successfully! Bun resolved the dependency conflicts that npm couldn't.

💡 Important Notes:

  • You may need to restart your terminal for bun to be available in your PATH permanently
  • If bun isn't recognized after restarting, use the full path: C:\Users\capta\.bun\bin\bun.exe
  • Bun's dependency resolution successfully handled React 19 compatibility issues

🎮 Step 4: Starting the Development Server

Available Commands:

Using npm/npx (if Node.js installed):

npx expo start -c

Using Bun (recommended):

bunx expo start -c

Web Preview:

bun run start-web

The -c flag clears the cache, which is useful after installing dependencies.

After running, you'll see a QR code you can scan with Expo Go app, or press i for iOS Simulator / a for Android Emulator.

🛠️ Step 5: Setting Up Development Builds

Install expo-dev-client:

$env:Path += ";C:\Users\capta\.bun\bin"; bun add expo-dev-client

✅ installed expo-dev-client@6.0.20
9 packages installed [2.22s]
Saved lockfile

Update app.config.js:

Add "expo-dev-client" to the plugins array in app.config.js

plugins: [ "expo-router", "expo-font", "expo-web-browser", "expo-dev-client", // Added for development builds ... ]

☁️ Step 6: EAS CLI Setup (Cloud Builds)

Using npx (recommended):

npx eas-cli --version

✅ eas-cli/16.28.0 win32-x64 node-v24.12.0

Cloud Build Commands:

Login to Expo account:

npx eas-cli login

Build for Android:

npx eas-cli build --profile development --platform android

Build for iOS:

npx eas-cli build --profile development --platform ios

Build for both platforms:

npx eas-cli build --profile development --platform all

After the build completes, install the development build on your device and start the dev server with:

npx expo start --dev-client

🏗️ Step 7: Local Build Setup (Advanced)

Attempting Local Android Build:

$env:Path += ";C:\Users\capta\.bun\bin"; bun run android

❌ Error Encountered:

ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation.

⚠️ Required Prerequisites for Local Android Builds:

1. Java JDK 17

  • Download from adoptium.net
  • Or use Windows Package Manager: winget install EclipseAdoptium.Temurin.17.JDK
  • After installing, set JAVA_HOME environment variable to JDK path (e.g., C:\Program Files\Eclipse Adoptium\jdk-17.x.x-hotspot)

2. Android Studio

3. Environment Variables

  • JAVA_HOME → JDK installation path
  • ANDROID_HOME → Android SDK path (usually C:\Users\YourUsername\AppData\Local\Android\Sdk)
  • Add to PATH: %ANDROID_HOME%\platform-tools and %ANDROID_HOME%\tools

Local Build Commands (after setup):

Android:

bun run android

or

npx expo run:android

iOS (macOS only):

bun run ios

or

npx expo run:ios

Note: The first local build can take 10-20 minutes as it compiles native code. Subsequent builds are faster.

After the build completes, start the development server:

npx expo start --dev-client

💡 Recommendation:

For most developers, EAS Build (cloud) is the easier option - no local Java/Android Studio setup required! Use local builds only if you need to debug native code or have specific requirements.

🎯 Complete Command Reference

Install Bun:

powershell -c "irm bun.sh/install.ps1 | iex"

Install Dependencies:

$env:Path += ";C:\Users\capta\.bun\bin"; bun install

Start Dev Server:

bunx expo start -c

Install Dev Client:

bun add expo-dev-client

Cloud Build (Android):

npx eas-cli build --profile development --platform android

Start with Dev Client:

npx expo start --dev-client

🎯 Key Takeaways

  • This project uses Bun instead of npm - use bun install not npm install
  • PowerShell uses semicolons (;) not && for command chaining
  • Restart terminal after installing Bun, or use full path: C:\Users\capta\.bun\bin\bun.exe
  • Development builds require expo-dev-client installed and configured in app.config.js
  • Local Android builds need Java JDK 17 and Android Studio with proper environment variables
  • EAS Build is recommended for cloud-based builds without local setup
  • Always use --dev-client flag when starting dev server after building

🎰 Bankroll Betty - Poker Session Tracker App

Built with Expo, React Native, TypeScript, and Bun

Comments