Skip to main content
Get started with developing Open Mushaf Native by setting up your local environment.

Prerequisites

Before you begin, ensure you have the following installed:
  • Node.js v22+ - Required for running the project
  • npm or yarn - Package manager
  • Git - Version control
  • Expo CLI - Built into the project dependencies
Open Mushaf Native uses Expo SDK 54 and React Native 0.81.5

Platform-Specific Requirements

  • Android Studio
  • Android SDK
  • Android Emulator or physical device

Installation

1

Clone the repository

git clone https://github.com/adelpro/open-mushaf-native.git
cd open-mushaf-native
2

Install dependencies

npm install
Or if you prefer yarn:
yarn install
3

Install Husky hooks

Git hooks are automatically set up when you install dependencies via the prepare script:
npm run prepare

Running the App

Development Server

npm start
This starts the Expo development server. You’ll see a QR code in the terminal that you can scan with the Expo Go app.

Platform-Specific Commands

npm run web
Opens the app in your default browser at localhost:8081

Advanced Development Options

Clear Cache

If you encounter unexpected behavior, clear the cache:
npm run start:clear

Production Mode

Test the app in production mode locally:
npm run start:prod

Bundle Analysis

Analyze your bundle size with Expo Atlas:
npm run start:atlas

React Scan

Monitor component re-renders in development:
npm run scan

Prebuild

Generate native Android and iOS directories:
npm run prebuild
This command will clean and regenerate the android/ and ios/ folders. Any manual changes to native code will be lost.

Troubleshooting

Run Expo Doctor

Diagnose common issues with your Expo setup:
npm run doctor

React Compiler Health Check

Verify React Compiler compatibility:
npm run react-compiler-check

Common Issues

If port 8081 is already in use, Expo will automatically select another port, or you can manually specify one:
npx expo start --port 8082
Clear the cache and restart:
npm run start:clear
Rebuild the native directories:
npm run prebuild

Next Steps

Once your environment is set up:
  1. Read the Contributing Guidelines
  2. Learn about Testing
  3. Start contributing to the project

Build docs developers (and LLMs) love