Skip to main content

Development Workflow

This document outlines our standard process for making code changes to the TrickBook mobile app.

Code Change Process

1. Create a GitHub Issue

Before starting work, create an issue to track the task:

gh issue create --repo wbaxterh/TrickBookFrontend \
--title "Brief description of the issue" \
--body "## Description
Detailed explanation of the problem or feature.

## Expected Behavior
What should happen.

## Current Behavior
What currently happens (for bugs).

## Acceptance Criteria
- [ ] Criterion 1
- [ ] Criterion 2

## Priority
High/Medium/Low"

2. Create a Feature Branch

Branch off from v2-rebuild (our main development branch):

git checkout v2-rebuild
git pull
git checkout -b fix/issue-description # For bug fixes
# OR
git checkout -b feature/feature-name # For new features

Branch naming conventions:

PrefixUse Case
fix/Bug fixes
feature/New features
refactor/Code refactoring
docs/Documentation changes

3. Make Your Changes

  1. Write your code
  2. Test locally on iOS simulator and/or Android emulator
  3. Commit with clear messages:
git add <files>
git commit -m "Brief description of change

- Detail 1
- Detail 2

Fixes #<issue-number>

Co-Authored-By: Your Name <email>"

4. Push and Create Pull Request

git push -u origin <branch-name>

gh pr create --repo wbaxterh/TrickBookFrontend \
--title "Fix: Brief description" \
--body "## Summary
- Change 1
- Change 2

## Test plan
- [ ] Test step 1
- [ ] Test step 2

Fixes #<issue-number>" \
--base v2-rebuild

5. Merge and Clean Up

After review/approval:

gh pr merge <pr-number> --repo wbaxterh/TrickBookFrontend --squash --delete-branch
Auto-close Issues

The issue will auto-close if you included Fixes #<issue-number> in the PR body.

6. Update Local Branch

git checkout v2-rebuild
git pull

Building and Deploying

Local Development

npx expo start
# Press 'i' for iOS simulator
# Press 'a' for Android emulator

Building for App Stores

iOS (TestFlight):

eas build --profile testflight --platform ios
eas submit -p ios --latest

Android (Play Store):

eas build --profile playstore --platform android
eas submit -p android --latest --profile playstore

Environment Variables & Secrets

Local Development

Store secrets in .env file (gitignored):

GOOGLE_MAPS_API_KEY=your_key_here

EAS Builds

Store secrets using EAS:

eas secret:create --name SECRET_NAME --value "secret_value" --scope project

Configuration

  • app.config.js reads from process.env for sensitive values
  • Never commit API keys or secrets to git

Important Branches

BranchPurpose
v2-rebuildMain development branch
masterLegacy (do not use)

Useful GitHub CLI Commands

# Check issue status
gh issue list --repo wbaxterh/TrickBookFrontend

# Check PR status
gh pr list --repo wbaxterh/TrickBookFrontend

# View issue details
gh issue view <number> --repo wbaxterh/TrickBookFrontend

# Close an issue
gh issue close <number> --repo wbaxterh/TrickBookFrontend --reason completed