This project lets the user play the "mobile flashcards" on the mobile phone: create new tests and test his/her knowledge
- clone the repository
- cd to the main directory
- npm install
- npm start
- iOS simulator (xcode)
- Android simulator (genymotion)
- Lists all the decks (DeckInfo components)
- Each deck is a button that navigates to the DeckDetails component
- Component that displays the deck title and number of questions
- Shows DeckInfo component
- Add Card button navigates to the AddCard component
- Start Quiz button navigates to Quiz component
- Delete Text button (TextButton component) deletes the deck and navigates to the DeckList component
- Question text input
- Answer text input
- Submit button saves card on DB and redux and navigates to previous screen (DeckDetails)
- Label: What is the title of your new deck?
- Title text input
- Create Deck button saves deck on DB and redux and navigates to DeckDetails
- Question number
- Card component
- Correct and incorrect buttons
- If all questions answered then navigate to Score component
- displays the question or answer text
- TextButton to cycle between question or answer
- Shows score (correct answers / total questions)
- Restart quiz button that navigates to Quiz
- Back to Deck button that navigates to DeckDetails
- creates a text button with the onPress and text passed to it
- creates a Touchable opacity button with the onPress and text passed to it. Used for submit of inputs
- creates a Touchable opacity button with the onPress and text passed to it. Used to navigate to other screens
- DeckList, AddDeck
- DeckList -> DeckDetails -> AddCard
- DeckList -> DeckDetails -> Quiz -> Score
- AddDeck -> DeckList
- key: 'MobileFlashCards:decks'
{ React: { title: 'React', questions: [ { question: 'What is React?', answer: 'A library for managing user interfaces' }, { question: 'Where do you make Ajax requests in React?', answer: 'The componentDidMount lifecycle event' } ] }, 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.' } ] } }
- key: 'MobileFlashCards:notifications'
- stores true or null
- ADD_DECK - adds deck to the store
- ADD_CARD_TO_DECK - adds card to the deck
- DELETE_DECK - deletes deck from the store
- RECEIVE_DECKS
- only one reducer to manage the decks