/rn-todo

Primary LanguageTypeScript

ReactNative TODO App

React TODO App is YOYO's technical test. This is a standard application that provides a simple organizer for the user to store notes and TODOs.

  • Instructions

    1. Fork this repository on your own personal GitHub account.
    2. Download your fork, build this app, and begin making changes.
    3. When finished, create a Pull Request to merge into YOYO's version, then send an email to @aindong to let him know you're ready for review.
    4. We will close the pull request.

    You may also submit your commits using =git format-patch=, should you prefer it over GitHub PRs.

  • Specifications

    1. The app consists of two major activities:
      • a note-taking activity that accepts a title and text for one or more notes
      • a TODO tracking activity that accepts an entry, with a checkbox to show whether this entry has been done or not done
    2. The app should have a user interface that allows for easy access between the note-taking and TODO tracking activities as well as to see their details at a glance.
    3. The note-taking activity should provide a view for its notes in a reverse-chronological order, with options for updating and deleting old notes.
    4. The TODO-tracking activity should provide a view for its entries with options for updating and deleting old TODOs.
    5. The app should make it easy to switch between the note-taking and TODO-tracking activities.
    6. The app should make it easy to switch a note to a TODO entry, and vice versa.
    7. The app should consists of both frontend and backend.
    8. Deploy your app on vercel, heroku, netlify, replit or whichever platform you choose and we can easily view it
  • Questions

    In your PR/patch email, please also answer these following questions:

    • What design patterns did you use inside the application?
    • How did you manage your states?
    • What libraries did you use?
      • Why did you use this library?
      • Are there other libraries available?
      • If yes, what made you choose this library over the others?
    • What major challenges did you encounter when making the app?
    • If you had more time, what additional features would you like to add?

    In addition, you may provide more information in your PR/patch email that you would like us to know.

  • Notes

    • You may use any open source libraries that you think would be useful for completing the test and improving this app.
    • You may implement the user interface in any way that you feel may improve the user experience.
    • You may use any development tools you have at your disposal to complete this test, so long as the resulting app is a standard JS/NodeJS application that can be built using the standard tooling