Skip to content

taiphanvan2k3/MovieApp

Repository files navigation

🎬 Movie App

A simple movie app built with Expo SDK 53, Nativewind 4, and Appwrite backend services. It is the my first mobile app project with React Native and Expo.

📱 Tech Stack

  • Expo SDK 53 - Fast, optimized development platform
  • React Native - Cross-platform mobile development
  • Nativewind 4 - Tailwind CSS for React Native
  • TypeScript - Type-safe development
  • Appwrite - Backend services

⚙️ Project Setup & Configuration

Prerequisites

  • Node.js & Yarn installed
  • Expo account for cloud builds
  • Android SDK (for Android builds)

Installation

yarn install
yarn add nativewind@~4.1.23 react-native-reanimated@~3.17.4 react-native-safe-area-context@5.4.0
yarn add --dev tailwindcss@^3.4.17 prettier-plugin-tailwindcss@^0.5.11

🚀 Building with Expo Cloud Service

Follow these steps to build an APK using EAS (Expo Application Services):

  1. Initialize Expo project

    eas init --id <your-project-id>
  2. Configure build settings

    eas build:configure
  3. Update eas.json configuration

    {
      "build": {
        "preview": {
          "distribution": "internal",
          "android": {
            "buildType": "apk"
          }
        }
      }
    }
  4. Set environment variables on Expo Dashboard

  5. Start the build

    $env:EAS_BUILD_CLEAR_CACHE=1; eas build -p android --profile preview
  6. Download your APK after build completion

⚠️ Known Issues & Solutions

Issue 1: Nativewind Migration Issues (SDK 52 → SDK 53)

Solution: Follow this discussion

Issue 2: Cannot find module 'react-native-worklets/plugin'

Solution: Refer to this fix

Issue 3: App Crashes on Android Launch

Cause: Missing environment variables in Expo cloud build
Solution: Add environment variables via Expo Dashboard

📸 App Preview

Build Status

App Interface

Search Screen

Movie Details Screen