A complete setup guide including Brewfile, Git, shell configuration (e.g., .zshrc
), package managers (npm/bun), and environment variables for Mac.
To confirm the default shell:
echo $SHELL
List all available shells:
cat /etc/shells
To switch to zsh
(if not already using it):
chsh -s /bin/zsh
You may need to restart your terminal session for changes to take effect.
Download the movie app and API project ZIP files to the Documents
directory:
cd ~/Documents
curl -L -o react-native-projects.zip https://github.com/techstackspace/react-native-projects/archive/refs/heads/feature/01-movie-collection-app.zip
unzip react-native-projects.zip
cd ~/Documents/react-native-projects-feature-01-movie-collection-app
The backend code is available in the feature/01-movie-collection-api branch.
cd ~/Documents
curl -L -o express-projects.zip https://github.com/techstackspace/express-projects/archive/refs/heads/feature/01-movie-collection-api.zip
unzip express-projects.zip
cd ~/Documents/express-projects-feature-01-movie-collection-api
Install Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew bundle
brew bundle --file=~/Documents/react-native-projects-feature-01-movie-collection-app/Brewfile
Feel free to modify the Brewfile
to add or remove dependencies as needed.
bun install
npm install
Delete
bun.lockb
if switching tonpm
vianvm
.
Check Git configuration:
git config --list
If needed, configure Git globally:
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
To remove all installed apps not in the Brewfile:
brew bundle cleanup --force
Alternatively, delete unwanted apps manually or remove entries from the Brewfile
and rerun the command above.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
Replace
v0.40.3
with the latest release version.
curl -fsSL https://github.com/owenizedd/bum/raw/main/install.sh | bash
Edit your ~/.zprofile
and add the following between Amazon Q pre block and Amazon Q post block:
# Amazon Q pre block
# Brew environment variable
# Android SDK Setup
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/platform-tools
# nvm Setup
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # Loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # Loads bash_completion for nvm
# bum Setup (Bun Version Manager)
export BUM_DIR="$HOME/.bum"
export PATH="$BUM_DIR/bin:$PATH"
# Load bum-managed Bun version (if any)
if [ -f "$BUM_DIR/version" ]; then
BUN_VERSION=$(cat "$BUM_DIR/version")
export PATH="$BUM_DIR/versions/$BUN_VERSION/bin:$PATH"
fi
# Amazon Q post block
Then apply the changes:
source ~/.zprofile
To start the React Native project, use:
bun start
For iOS:
i
For Android:
a
To run on a physical device, scan the QR code displayed in the terminal using the Expo app or your iPhone camera (recommended for accurate testing).
Here are the core resources of this project:
- React Native Docs – Official documentation for setting up and building apps with React Native.
- Bun Documentation – Learn how to use Bun, an all-in-one JavaScript runtime and toolkit.
- Bum GitHub Repo – Documentation for Bum, a fast Bun version manager written in Rust.
- Node.js Documentation – Official API documentation for Node.js.
- nvm GitHub Repo – Node Version Manager for managing multiple Node.js versions.
- Homebrew – Package manager for macOS and Linux, useful for installing dependencies like Watchman, Git, Android Studio, etc.
- Expo Documentation – Comprehensive docs for using Expo CLI, managed workflows, development builds, and more.
- Android Studio – Official IDE for Android development, required for building and testing React Native apps on Android.
- Figma Help Center – Comprehensive guides and tutorials for using Figma effectively.
Your feedback is incredibly valuable and helps improve these resources for the entire community.
Whether you've followed a tutorial, read the documentation, watched a video, or used a script—I'd love to hear your thoughts!
- What worked well for you?
- What was unclear or confusing?
- Suggestions for improvement or new topics?
- Bugs or outdated instructions?
Your input helps shape better content for developers like you. Thank you!
Follow us on social media:
You can explore the official Figma design for this project using the link below. This design provides a clear visual reference for the UI layout and styling used throughout the app.
🔗 View the Figma Design for the Movie App
Here is the Figma design: