{"id":21076343,"url":"https://github.com/rapter1990/udacity-react-mobile-flashcards","last_synced_at":"2026-05-09T06:03:40.861Z","repository":{"id":124091898,"uuid":"331279062","full_name":"Rapter1990/Udacity-React-Mobile-Flashcards","owner":"Rapter1990","description":"Udacity React Mobile Flashcards","archived":false,"fork":false,"pushed_at":"2021-02-06T08:32:24.000Z","size":82383,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-20T22:53:01.759Z","etag":null,"topics":["cards","decks","react","react-native","udacity-nanodegree"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Rapter1990.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-20T11:00:33.000Z","updated_at":"2021-03-10T08:20:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"6d9f92e6-e32a-4a93-88b8-5d12e24e76ff","html_url":"https://github.com/Rapter1990/Udacity-React-Mobile-Flashcards","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rapter1990%2FUdacity-React-Mobile-Flashcards","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rapter1990%2FUdacity-React-Mobile-Flashcards/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rapter1990%2FUdacity-React-Mobile-Flashcards/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rapter1990%2FUdacity-React-Mobile-Flashcards/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rapter1990","download_url":"https://codeload.github.com/Rapter1990/Udacity-React-Mobile-Flashcards/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243521251,"owners_count":20304185,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cards","decks","react","react-native","udacity-nanodegree"],"created_at":"2024-11-19T19:27:56.522Z","updated_at":"2026-05-09T06:03:35.838Z","avatar_url":"https://github.com/Rapter1990.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mobile Flash Card\n\n### Live Show\n\n\u003cdetails\u003e\n\u003csummary\u003eClick here to show the live show of project\u003c/summary\u003e\n  \u003cimg src=\"./livedemo/livedemo.gif\" alt=\"this slowpoke moves\" width=\"300\" height=\"600\" alt=\"400 image\"/\u003e\n\u003c/details\u003e\n\n### Screenshoots\n\n\u003cdetails\u003e\n\u003csummary\u003eClick here to show the screenshots of project\u003c/summary\u003e\n\u003ctable style=\"border: 0px;\"\u003e\n  \u003ctr\u003e\n     \u003ctd align=\"center\"\u003e Figure 1 \u003c/td\u003e\n     \u003ctd align=\"center\"\u003e Figure 2 \u003c/td\u003e\n     \u003ctd align=\"center\"\u003e Figure 3 \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg width=\"800\" height=\"600\" src =\"/screenshots/screenshot1.PNG\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg width=\"800\" height=\"600\" src =\"/screenshots/screenshot2.PNG\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg width=\"800\" height=\"600\" src =\"/screenshots/screenshot3.PNG\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n     \u003ctd align=\"center\"\u003e Figure 4 \u003c/td\u003e\n     \u003ctd align=\"center\"\u003e Figure 5 \u003c/td\u003e\n     \u003ctd align=\"center\"\u003e Figure 6 \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg width=\"800\" height=\"600\" src =\"/screenshots/screenshot4.PNG\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg width=\"800\" height=\"600\" src =\"/screenshots/screenshot5.PNG\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg width=\"800\" height=\"600\" src =\"/screenshots/screenshot6.PNG\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n     \u003ctd align=\"center\"\u003e Figure 7 \u003c/td\u003e\n     \u003ctd align=\"center\"\u003e Figure 8 \u003c/td\u003e\n     \u003ctd align=\"center\"\u003e Figure 9 \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg width=\"800\" height=\"600\" src =\"/screenshots/screenshot7.PNG\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg width=\"800\" height=\"600\" src =\"/screenshots/screenshot8.PNG\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg width=\"800\" height=\"600\" src =\"/screenshots/screenshot9.PNG\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\u003c/details\u003e\n\n## 📝 Using the App\n\n- Once started, the app will load any decks you have created. If no decks are present, you can load sample decks to test functionality.\n- A user can add a Deck.\n- A user can click a deck to see cards in that deck.\n- A user can add cards under a deck.\n- A user can quiz himself.\n- A user can delete a deck.\n- When a user enter the quiz without containing quiz questions, the error page appears on the screen.\n- When a user answer question as \"Incorrect\" or \"Correct\" in quiz without clicking \"Show Answer\" button, the error message appears on the screen.\n\n## 🔔 Notifications\n\n- 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.\n- Starting a quiz resets the notification for the following day.\n\n## TESTING\n- App has been tested in Samsung Galaxy S7 emulator (Genymotion)\n\n## 📂Project Structures  \n ┃📂actions        \n ┃ ┗📜index.js    \n ┃📂apk            \n ┃ ┗📜mobile-flashcards-9e63c5b14f55492fa3438dca4bb1ee59-signed.apk    \n ┃📂livedemo                        \n ┃ ┗📜livedemo.gif                      \n ┃📂screenshots                    \n ┃ ┗📜screenshot1.PNG          \n ┃ ┗📜screenshot2.PNG      \n ┃ ┗📜screenshot3.PNG      \n ┃ ┗📜screenshot4.PNG      \n ┃ ┗📜screenshot5.PNG      \n ┃ ┗📜screenshot6.PNG    \n ┃ ┗📜screenshot7.PNG    \n ┃ ┗📜screenshot8.PNG        \n ┃ ┗📜screenshot9.PNG                      \n ┃📂components        \n ┃ ┗📂component        \n ┃ ┃ ┗📜CustomClickButton.js        \n ┃ ┃ ┗📜TextButton.js        \n ┃ ┗📂Deck            \n ┃ ┃ ┗📜index.js     \n ┃ ┗📂DeckDetails    \n ┃ ┃ ┗📜DeckDetails.js       \n ┃ ┗📂Decks    \n ┃ ┃ ┗📜Decks.js          \n ┃ ┗📂HomeScreen    \n ┃ ┃ ┗📜index.js        \n ┃ ┗📂Navigation    \n ┃ ┃ ┗📜index.js      \n ┃ ┗📂NewCard    \n ┃ ┃ ┗📜NewCard.js       \n ┃ ┗📂NewDeck    \n ┃ ┃ ┗📜NewDeck.js      \n ┃ ┗📂Quiz    \n ┃ ┃ ┗📜Quiz.js      \n ┃ ┃ ┗📜QuizError.js    \n ┃ ┃ ┗📜QuizResult.js    \n ┃📂middleware         \n ┃ ┗📜index.js      \n ┃ ┗📜logger.js     \n ┃📂reducer        \n ┃ ┗📜index.js      \n ┃📂utils        \n ┃ ┗📜_DATA_.js      \n ┃ ┗📜api.js      \n ┃ ┗📜colors.js      \n ┃ ┗📜notification.js     \n ┃📜App.js     \n ┃📜store.js     \n\n ## Project Layout\n```bash\n├── README.md # Giving Information about Project.\n├── index.js # Used for DOM rendering only.\n├── package.json # Manager file of npm package.\n├── App.js # This is the root of the app. Contains root view and navigational components.\n├── store.js # Combines reducer and middleware to show log\n├── actions\n│   └── index.js # Provides actions and related handlers\n├── apk\n│   └── mobile-flashcards-9e63c5b14f55492fa3438dca4bb1ee59-signed.apk # apk file of an app\n├── livedemo\n│   └── livedemo.gif # live demo of app\n├── reducers\n│   └── index.js # Reducers for related actions\n├── middleware\n│   ├── index.js # Applies middleware for the store\n│   └── logger.js # Provides logging during dispatching actions\n├── utils\n│   ├── _DATA_.js # Sample initial data of deck object\n│   ├── api.js # Provides CRUD methods for decks and cards\n│   └── colors.js # Colors used system-wide\n│   └── notificatons.js # Helper methods to manage local notifications\n├── screenshots\n│   ├── screenshot1.PNG \n│   ├── screenshot2.PNG  \n│   └── screenshot3.PNG  \n│   └── screenshot4.PNG  \n│   └── screenshot5.PNG  \n│   └── screenshot6.PNG  \n│   └── screenshot7.PNG  \n│   └── screenshot8.PNG  \n│   └── screenshot9.PNG  \n└── components\n    ├── component\n    │    ├── CustomClickButton.js # A custom component for button\n    │    ├── TextButton.js  # A custom component for text button              \n    ├── Deck\n    │    ├── index.js # A component to display an information of deck listed in Decks Component\n    ├── DeckDetails\n    │    ├── DeckDetails.js # A component to display an information of a specific deck\n    ├── Decks\n    │    ├── Decks.js # A component to display all decks to be used as a home screen\n    ├── HomeScreen\n    │    ├── index.js # A component that displays a home page\n    ├── Navigation\n    │    ├── index.js # A component that displays a bottom tab navigation bar and stack navigation.\n    ├── NewCard\n    │    ├── NewCard.js # A component to create a new question card for a specific deck.\n    ├── NewDeck\n    │    ├── NewDeck.js # A component to create a new deck.\n    ├── Quiz\n    │    ├── Quiz.js # A component to test users' knowledge about a deck of cards.\n    │    ├── QuizError.js # A component to throw an error when there is no question card located in a specific deck\n    │    ├── QuizResult.js # A component to show the result of quiz\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frapter1990%2Fudacity-react-mobile-flashcards","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frapter1990%2Fudacity-react-mobile-flashcards","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frapter1990%2Fudacity-react-mobile-flashcards/lists"}