/reactnd-project-flashcards

React Native project for the Udacity React Nanodegree program

Primary LanguageJavaScriptMIT LicenseMIT

Have a question or suggestion? Contact me on Linkedin, or open a pull request on this project.

Programming assignment for the Udacity React Nanodegree program.


Flashcards

Code Climate Issue Count

For the UdaciCards project, you will build a mobile application (Android or iOS - or both) 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.

Built with React Native, Redux and React Navigation. This project was bootstrapped with Create React Native App. For this assignment there was no starter template provided (apart from the simple backend API).

Limitations and things that are missing

The focus of the assignment was on functionality, rather than styling, so I did not spend so much time building the UI (no animations, few loading messages, etc). The scope of the assignment was very limited, so it is not possible to edit entries. Also, this project has no automated tests.

Feature

  • Local state is automatically synced with AsyncStorage
  • Notifications API is used for setting daily reminders

Stack

The folder structure loosely follows the ducks pattern.

Installation

Install all necessary modules to run the current project.

$ git clone https://github.com/fernandobrito/reactnd-project-flashcards
$ cd reactnd-project-flashcards/
$ yarn install

Development

$ cd reactnd-project-flashcards
$ yarn start

Tested on a real Lenovo P2 Android device and on the Genymotion emulator.

For more details on how to run the app on your mobile phone or on an emulator, please follow expo documentation.

Build

For more details on how to run build the app and deploy it to application stores, please follow expo documentation.

Lint

Run lint tools.

$ cd reactnd-project-flashcards/
$ yarn run eslint

Contributing

  1. Fork it
  2. Create your feature branch with specs (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Contributors

License

This project is licensed under the MIT License. Check the LICENSE file.