https://github.com/rapter1990/udacity-react-mobile-flashcards
Udacity React Mobile Flashcards
https://github.com/rapter1990/udacity-react-mobile-flashcards
cards decks react react-native udacity-nanodegree
Last synced: 3 months ago
JSON representation
Udacity React Mobile Flashcards
- Host: GitHub
- URL: https://github.com/rapter1990/udacity-react-mobile-flashcards
- Owner: Rapter1990
- Created: 2021-01-20T11:00:33.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-02-06T08:32:24.000Z (over 5 years ago)
- Last Synced: 2025-01-20T22:53:01.759Z (over 1 year ago)
- Topics: cards, decks, react, react-native, udacity-nanodegree
- Language: JavaScript
- Homepage:
- Size: 78.6 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Mobile Flash Card
### Live Show
Click here to show the live show of project

### Screenshoots
Click here to show the screenshots of project
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
## π Using the App
- Once started, the app will load any decks you have created. If no decks are present, you can load sample decks to test functionality.
- A user can add a Deck.
- A user can click a deck to see cards in that deck.
- A user can add cards under a deck.
- A user can quiz himself.
- A user can delete a deck.
- When a user enter the quiz without containing quiz questions, the error page appears on the screen.
- When a user answer question as "Incorrect" or "Correct" in quiz without clicking "Show Answer" button, the error message appears on the screen.
## π Notifications
- The app will set a daily reminder that will be triggered if you have not started any quizzes that day. The notification will trigger at 8:20 PM.
- Starting a quiz resets the notification for the following day.
## TESTING
- App has been tested in Samsung Galaxy S7 emulator (Genymotion)
## πProject Structures
βπactions
β βπindex.js
βπapk
β βπmobile-flashcards-9e63c5b14f55492fa3438dca4bb1ee59-signed.apk
βπlivedemo
β βπlivedemo.gif
βπscreenshots
β βπscreenshot1.PNG
β βπscreenshot2.PNG
β βπscreenshot3.PNG
β βπscreenshot4.PNG
β βπscreenshot5.PNG
β βπscreenshot6.PNG
β βπscreenshot7.PNG
β βπscreenshot8.PNG
β βπscreenshot9.PNG
βπcomponents
β βπcomponent
β β βπCustomClickButton.js
β β βπTextButton.js
β βπDeck
β β βπindex.js
β βπDeckDetails
β β βπDeckDetails.js
β βπDecks
β β βπDecks.js
β βπHomeScreen
β β βπindex.js
β βπNavigation
β β βπindex.js
β βπNewCard
β β βπNewCard.js
β βπNewDeck
β β βπNewDeck.js
β βπQuiz
β β βπQuiz.js
β β βπQuizError.js
β β βπQuizResult.js
βπmiddleware
β βπindex.js
β βπlogger.js
βπreducer
β βπindex.js
βπutils
β βπ_DATA_.js
β βπapi.js
β βπcolors.js
β βπnotification.js
βπApp.js
βπstore.js
## Project Layout
```bash
βββ README.md # Giving Information about Project.
βββ index.js # Used for DOM rendering only.
βββ package.json # Manager file of npm package.
βββ App.js # This is the root of the app. Contains root view and navigational components.
βββ store.js # Combines reducer and middleware to show log
βββ actions
β βββ index.js # Provides actions and related handlers
βββ apk
β βββ mobile-flashcards-9e63c5b14f55492fa3438dca4bb1ee59-signed.apk # apk file of an app
βββ livedemo
β βββ livedemo.gif # live demo of app
βββ reducers
β βββ index.js # Reducers for related actions
βββ middleware
β βββ index.js # Applies middleware for the store
β βββ logger.js # Provides logging during dispatching actions
βββ utils
β βββ _DATA_.js # Sample initial data of deck object
β βββ api.js # Provides CRUD methods for decks and cards
β βββ colors.js # Colors used system-wide
β βββ notificatons.js # Helper methods to manage local notifications
βββ screenshots
β βββ screenshot1.PNG
β βββ screenshot2.PNG
β βββ screenshot3.PNG
β βββ screenshot4.PNG
β βββ screenshot5.PNG
β βββ screenshot6.PNG
β βββ screenshot7.PNG
β βββ screenshot8.PNG
β βββ screenshot9.PNG
βββ components
βββ component
β βββ CustomClickButton.js # A custom component for button
β βββ TextButton.js # A custom component for text button
βββ Deck
β βββ index.js # A component to display an information of deck listed in Decks Component
βββ DeckDetails
β βββ DeckDetails.js # A component to display an information of a specific deck
βββ Decks
β βββ Decks.js # A component to display all decks to be used as a home screen
βββ HomeScreen
β βββ index.js # A component that displays a home page
βββ Navigation
β βββ index.js # A component that displays a bottom tab navigation bar and stack navigation.
βββ NewCard
β βββ NewCard.js # A component to create a new question card for a specific deck.
βββ NewDeck
β βββ NewDeck.js # A component to create a new deck.
βββ Quiz
β βββ Quiz.js # A component to test users' knowledge about a deck of cards.
β βββ QuizError.js # A component to throw an error when there is no question card located in a specific deck
β βββ QuizResult.js # A component to show the result of quiz
```