Android Org App is YOYO’s technical test. This is a standard Android application that provides a simple organizer for the user to store notes and TODOs.
- Fork this repository on your own personal GitHub account.
- Download your fork, build this app, and begin making changes.
- When finished, create a Pull Request to merge into YOYO’s version, then send an email to @zakame to let him know you’re ready for review.
- We will close the pull request.
You may also submit your commits using git format-patch
, should you
prefer it over GitHub PRs.
- The app consists of two major activities:
- a note-taking activity that accepts a
title
andtext
for one or more notes - a TODO tracking activity that accepts an
entry
, with acheckbox
to show whether this entry has been done or not done
- a note-taking activity that accepts a
- 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.
- The note-taking activity should provide a view for its notes in a reverse-chronological order, with options for updating and deleting old notes.
- The TODO-tracking activity should provide a view for its entries with options for updating and deleting old TODOs.
- The app should make it easy to switch between the note-taking and TODO-tracking activities.
- The app should make it easy to switch a note to a TODO entry, and vice versa.
- The release APK of the app should take up no more than 3MB of disk space.
- The release APK should target Android devices running version 4.4 (KitKat) and up.
In your PR/patch email, please also answer these following questions:
- What design patterns did you use inside the application?
- 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.
- 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
Android application that can be built using the standard tooling:
./gradlew clean assembleDebug