React Native (Expo) app to discover popular movies and manage your watchlist.
- Popular movies feed based on user's country
- Infinite scroll pagination
- "Add to Watchlist" functionality
- Responsive alien-themed UI
- Movie details: rank, poster, title, rating
- Expo Router
- NativeWind (Tailwind CSS)
- TypeScript
- react-native-fast-image
- expo-location (country detection)
- expo-localization
- TMDB API
- Custom caching system
- Install dependencies:
yarn install
- Create
.env
file:
TMDB_API_KEY=your_api_key
- Run:
npx expo run:ios --device
- Prebuild Expo project:
npx expo prebuild
- For Mac users - Enable Automation permissions:
- Go to System Preferences
- Navigate to Security & Privacy > Privacy
- Select "Automation" from the left sidebar
- Find Terminal/VSCode
- Enable checkbox next to "System Events"
- If using React Native CLI (for iOS):
cd ios pod deintegrate pod cache clean --all pod install
- Clean prebuild:
npx expo prebuild --clean
src/
├── app/ # Expo Router screens
├── components/ # Reusable components
├── data/ # API/Cache logic
├── hooks/ # Custom hooks
├── types/ # TypeScript types
├── utils/ # Helper functions
└── consts/ # Constants
/
- Movies list/watchlist
- Saved movies
- Offline support via caching (not implemented)
- Performance optimized with FastImage
- Use Radon IDE extension to see it working without Xcode!
If you encounter build issues:
- Clear Expo cache:
expo start --clear
- Reset Metro bundler:
yarn start --reset-cache
- Clean Watchman:
watchman watch-del-all
USE RADON IDE EXTENSTION - FOR SAVE WORLD!