Skip to content

jhjdev/ravenpack-assessment

Repository files navigation

RavenPack Technical Assessment

A React Native application built for RavenPack's technical assessment. This app demonstrates fetching and displaying posts from the JSONPlaceholder API, with features including:

  • Tab-based navigation with modern Feather icons
  • Light and dark theme support
  • API service for fetching post data
  • Clean UI with reusable components

Getting Started

Prerequisites

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/ravenpack-assessment.git
    cd ravenpack-assessment
  2. Navigate to the React Native app directory:

    cd RNApp
  3. Install dependencies:

    pnpm install

Running on iOS

  1. Install CocoaPods dependencies:

    cd ios
    pod install
    cd ..
  2. Start the Metro bundler:

    npx react-native start
  3. In a new terminal, build and run the iOS app:

    npx react-native run-ios

    This will open the app in the iOS simulator.

Running on Android

  1. Make sure you have an Android emulator running or a device connected.

  2. Start the Metro bundler (if not already running):

    npx react-native start
  3. In a new terminal, build and run the Android app:

    npx react-native run-android

    This will install and launch the app on your emulator or device.

Project Structure

├── android/                 # Android native code
├── ios/                     # iOS native code
├── src/
│   ├── components/          # Reusable UI components
│   ├── contexts/            # React Context providers
│   ├── hooks/               # Custom React hooks
│   ├── navigation/          # Navigation configuration
│   ├── screens/             # App screens
│   ├── services/            # API and other services
│   └── styles/              # Global styles and themes
├── __tests__/               # Test files
├── App.tsx                  # Main App component
└── index.js                 # Entry point

Testing

The project includes Jest tests for the API service. Run the tests with:

npx jest

Troubleshooting

iOS Issues

  • If you encounter build errors, try cleaning the build:
    cd ios
    xcodebuild clean
    cd ..
    npx react-native run-ios

Android Issues

  • If you have issues with the app not showing icons, make sure the font files are properly included in the assets:

    mkdir -p android/app/src/main/assets/fonts
    cp node_modules/react-native-vector-icons/Fonts/Feather.ttf android/app/src/main/assets/fonts/
  • If you encounter Gradle build issues, try cleaning the build:

    cd android
    ./gradlew clean
    cd ..
    npx react-native run-android

License

This project is part of RavenPack's technical assessment and is not licensed for public use.

About

A technical assignment for RavenPack

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors