Giter Club home page Giter Club logo

mobile-flashcards's Introduction

About Mobile Flashcards

Mobile application for Android and iOS platforms 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 project has been build using React and React Native (not Redux used).

How to run this project

First of all

Download dependencies (node_modules)

In a command line/terminal execute:

yarn install

or

npm install

Once dependencies are downloaded

In a command line/terminal execute:

yarn start

or

npm start

This project data structure

Decks

{
  React: {
    title: 'React',
    questions: [
      {
        question: 'What is React?',
        answer: 'A library for managing user interfaces',
        timestamp: 1495255666921
      },
      {
        question: 'Where do you make Ajax requests in React?',
        answer: 'The componentDidMount lifecycle event',
        timestamp: 1495255666921
      }
    ],
    quiz: {
      score: 3,
      timestamp: 1495255666921
    }
  },
  JavaScript: {
    title: 'JavaScript',
    questions: [
      {
        question: 'What is a closure?',
        answer: 'The combination of a function and the lexical environment within which that function was declared.',
        timestamp: 1495255666921
      }
    ],
    quiz: {
      score: 3,
      timestamp: 1495255666921
    }
  }
}

Questions

{
  question: 'What is React?',
  answer: 'A library for managing user interfaces'
},

Quiz

{
  score: 3,
      timestamp: 1495255666921
},
  • A quiz is added to Deck when the user finished the quiz and he/she press Restart button on the right side of the header bar.

Folders

components

All this project contents for UI

utils

  • colors.js: color names in RGB code
  • helpers.js: AsyncStorage operations and other generic functions
  • components: react components

Notifications

This app checks if the user hasn't completed at least one quiz for that day and generate a notification to remind him/her that.

Extra modules

For feature Delete Deck on DeckDetails screen, react-native-modal has been import used to build a modal to confirm/cancel deletion. It is motivated by a bug found using Alert/AlertiOS from react-native module whick block the UI when the Alert is shown.

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.