Skip to content

MedRedha/MPT-Coding-Challenge

Repository files navigation

Nuri - The Challenge

A Unique React Native Coding Challenge by Nuri
Expected Solution

GitHub package.json version

Purpose

We want to see your personality as a coder.

We want to give you the opportunity to show off. Are you awesome at debugging? Spotting the mistake when reading the error code?

Think of this as an opportunity to show us what you’re good at and what you like doing.

Mistakes to avoid making when working on a coding challenge

There are several mistakes you can make with coding challenges. Some of these are small mistakes that are easily correctable, while others will leave you frustrated and unable to finish your assignment. We want to address these mistakes first, so when you’re done reading this guide, you know exactly what not to do.

Here are four mistakes you can make:

  • Time management and scope creep
  • Trying to learn too many new things at once
  • Making too many assumptions
  • Starting to code right away

So now that you are familiar with the not-to-do list, let’s dive into the fun part!

Rules

  • Do not rewrite the entire code. Consider it as a production hotfix.
  • Do not squash your commits to preserve changes history and review better.
  • Do not remove any of the already implemented components and functions.
  • Do not install, add or remove any package or third-party dependency.
  • Don’t try to get 100% completion with half fixes. A good fix doesn’t need to be fixed again 😉

Task

As you already understood, we’re not asking you to build a Web/Mobile app from scratch. We already did for you but it wasn’t our day to be honest.

We left several in-code mistakes, from structural to syntaxical and your task is to spot, list and of course fix them one by one until you are able to launch and run the app properly. In nerd terms, spaghetti code on the menu 🍽

Talk is cheap. Let’s show you the code

  • Download and extract the folder we sent you
  • Choose your favourite terminal & IDE and navigate to it
  • The first command to run is yarn
  • To start the metro bundler just run yarn start
  • Once done, commit and push the project to a PRIVATE repository of your choice and make sure to give us access to it before sending us the link
  • Well now, it’s your turn to shine & impress us 💪

Expectations

  • We are waiting for you to fix the mess and launch the app
  • Don’t forget to list all the pesky bugs you found in the readme file, how did you fix them and why did you choose that particular solution
  • Make Small, Single-Purpose Commits. Don’t push 20 file changes with one single commit
  • At the end of the day, we expect from you to:
    • Run and launch the app properly without errors
    • Clean the code from its memory leaks and boost performance
    • Be able to detect and display the listed device infos on the home screen
    • Hide the device status bar
    • Make the app rotate into landscape mode without messing the UI
    • Add a listener to the device theme so the app switches automatically between Dark and Light mode without the necessity to restart and add the necessary support for the components (if applicable)
    • Be able to access, pick and fetch a document or a picture from the system storage and display its data after a complete progress bar
    • Make sure that ANY document type can be uploaded
    • Open the app automatically when running the following command: xcrun simctl openurl booted NuriCodingChallenge://

The final UI


Made with 💖 by Nuri®

About

Nuri Mobile Platform Team React Native Coding Challenge - Solution 🎉

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published