The Mobile Flashcards app is the 3rd and final project required for the Udacity React Nanodegree program.
This is a React Native app so the same codebase is used to create packages for both Androids and iOS.
The app has been tested on Androids physical devices using Expo.
The Mobile Flashcards app provides features similar to typical index cards used for studying. The app allows the user to create decks. Each deck contains a set of cards with a question and an answer. The user can start a quiz for a given deck and evaluate themselves for correct or incorrect answers. Users are given a score at the end of completing a quiz session.
The app uses the following packages:
- Node
- the node needs a downgraded version 10.18.0 due to compatibility issues with expo
- node versions 12.x and 14.x generates the error
- react
- react-native
- expo
- react-navigation
- react-navigation-material-bottom-tabs
- react-navigation-stack
- react-native-paper
- redux
- react-redux
- react-native-vector-icons
- You need to have Node.js, npm and yarn installed
- Proceed by cloning or downloading the project as a zip
- Extract and change directory to the project folder
- Open your Terminal or Command prompt and type
yarn install
- Then type
yarn start
- Your default browser will open with the Metro Bundler running at port 19002 with the address: http://localhost:19002/
The app has been tested on both Android and iOS physical devices
- Install Expo https://expo.io/ on both Android and iOS
- All your devices (computer running the Metro Bundler, Android and iOS device) should be connected on the same local area network
- Go to the Play Store and install Expo
- Run Expo on the device
- Scan the QR code available on the browser running the Metro Bundler
- The Flashcards app should start
- Go to the Apple Store and install Expo
- Run Expo on the device
- You can't scan the QR code on iOS, so you will have to either "Send link with email" or copy paste the link exp://192.168.0.109:19000 in Safari running on iOS
- The network address may vary depending on your local area network setup so you might get something like exp://172.16.1.2:19000
- Please look at the browser running the Metro Bundler, the link should be will be available under CONNECTION - please see the screenshot above
- Safari will ask permission to open the app in Expo: Open this page in "Expo"? Click Open
- The Flashcards app should now start
Screenshots below show the app running on Android Devices side by side.
Decks view is also the home view, once you start the app you get the default Decks view. The first time you run the app, you will get 3 decks created by default:
- JavaScript
- React
- Node Js
Feel free to delete these decks or create your own.
You can create your own Decks by touching the New Deck tab.
Clicking on deck from the decks listing view shows the individual Deck view.
Here you can:
- Add a card to the deck
- Start a quiz
A deck card is the equivalent of the flash card or index card used for studying or exam preparation.
A deck card consists of:
- a question
- an answer
A quiz can be started on any deck as long as there is at least one card. The quiz will run through all the cards in the deck.
you can click show answer to see the question answer
The quiz result with the score is shown when the user has gone through all the quiz questions.
if user's score below 50% upset face shows otherwise smile face shows