Code Monkey home page Code Monkey logo

mobile-flashcards's Introduction

Mobile Flashcards Project

This is a mobile application that allows users to study collections of flashcards. The app will allow users to create different categories of flashcards called "decks", add flashcards to those decks, then take quizzes on those decks.

This app was tested on both iOS and android platforms.

In this application, users will be able to

  • create a deck which can hold an unlimited number of cards.
  • add a card to a specific deck.
  • flip the card to view the question in the front of the card and the answer in the back of the card.
  • quiz themselves on a specific deck and receive a score once they're done.
  • Users should receive a notification to remind themselves to study if they haven't already for that day.

Demo

Project Demo can be viewed here.

Installation

Install all project dependencies with yarn install. Start the development server yarn start. Run the application in web browser yarn web. Run the application in ios simulator yarn ios.

Author

Tech Stack

App Functionality

Deck List View (Default View)

The primary view, seen when the app loads, is a list of created decks which includes:

  • the name of each deck and
  • the number of cards in each deck.

Individual Deck View

The Individual Deck view includes:

  • The deck title
  • Number of cards in the deck
  • Option to start a quiz for that deck
  • Option to add a new question to the deck

Quiz View

  • The Quiz view starts with a card question from the selected deck.
  • The question is displayed, along with a button to show the answer.
  • Pressing the 'Show Answer' button displays the answer.
  • Buttons are included to allow the student to mark their guess as 'Correct' or 'Incorrect'
  • The view displays the number of questions remaining in the quiz.
  • When the last question is answered, a score is displayed. This can be displayed as a percentage of correct answers or just the number of questions answered correctly.
  • When the score is displayed, buttons are displayed to either start the quiz over or go back to the Individual Deck view.
  • Both the 'Restart Quiz' and 'Back to Deck' buttons route correctly to their respective views.

New Deck View

  • The New Deck view includes a form for creating a new deck - which are an input for the title and a 'Create Deck' button.
  • Pressing the button correctly creates the deck and routes the user to the Individual Deck view for the new deck.

New Question View

  • The New Question view includes a form with fields for a question and answer, and a submit button.
  • Submitting the form correctly adds the question to the deck.

Notification

  • Notifications are generated at a specific time if the user hasn't completed at least one quiz for that day.

Backend

  • In this project, I used AsyncStorage to store the decks and flashcards.

Contribution

This repository is my final assessment project for Udacity's React Native course. Therefore, I most likely will not accept pull requests.

mobile-flashcards's People

Contributors

shweyeewinn avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.