Deliverables - Projects

React Native App

Worth 20% of your final grade

Due before 6:00 pm on Friday December 17, 2021.

NO LATE SUBMISSIONS as this is the end of the semester.

Pairs Project

This project can optionally done with a partner.

However, if you did NOT have a partner for the NextJS assignment then you MUST have a Pairs Programming partner for this one.

You may choose a different partner for this project or use the sme partner as the NextJS assignment. [Self-select your partner on BS LMS] (link to be added here).

# Core Requirements

This final project is to create a React Native App that uses a variety of React Native AND Expo components and APIs.

You must include ALL the following React Native core components (opens new window):

  • View
  • Text
  • Image and/or ImageBackground
  • FlatList and/or ScrollView
  • Button and/or Pressable
  • SafeAreaView
  • KeyboardAvoidingView
  • StatusBar
  • TextInput
  • ActivityIndicator

Plus at least 3 of the React Native APIs (opens new window)

Plus the React Navigation (opens new window) with either a Stack Navigator, or a Tab Navigator, or a Drawer Navigator. You can also choose to build combinations of those.

Plus you must choose at least 4 of the following Expo Components and APIs (opens new window)

Plus the useState and useEffect hooks.

You will also be graded on the appearance of your app:

  • Does it have a consistent colour scheme and font usage?
  • Are you using good typographic hierarchy?
  • Do you have consistent spacing?
  • Is your content accessible? (Contrast and size)
  • Is your colour scheme appropriate for the type of app you have built?

# App Demos

Demos of your app running on a physical device should be done during class or you can record a video of the app being used and upload that to an online video site (vimeo, youtube, etc) and send the link to your professor.

# Bonus Marks

To earn bonus marks for your app, you need to have first implemented all the required components and apis listed above.

Then you will add some authentication to your app using GoogleSignIn, AppleAuthentication, or LocalAuthentication. All three can be found in the EXPO API Reference.

For another Bonus mark you can add a custom Icon and Splashscreen to your project.

# Submission

  • Create a private repo on GitHub with the name mad9135-p2-react-native-final.
  • Your pairs programming partner should be a collaborator on your repo.
  • There should be commits to this project repo from BOTH partners.
  • Invite GitHub user prof3ssorSt3v3 as a collaborator on your private repo.
  • Install your app on physical device and demo it to your professor.
  • Submit both the URL of the GitHub code repo and the Expo public link to the BS LMS assignment folder.

WARNING

If you are submitting an iOS app then you will not be able to create and install the .ipa on a phone using the Expo website. Our Apple Developer Account will not let you create the distribution .ipa file. This means that Expo won't even upload the app and create the Expo Client link.

Same problem will occur using EAS-cli. You will see 403 Access Forbidden errors when it is trying to register your bundle, after you log in with your Apple ID from your apple developer account. If you had your own paid Apple developer account then you could accept the agreement and approve everything as the account owner.

The current alternative is to use react-native-cli to create the project with the android and ios project folders.

Last Updated: : 12/19/2021, 12:34:57 PM