-
Used MVP design pattern to make this app scalable considering future enhancements to this idea. Packages are explained below.
-
- operations to lookup words from dictionary
- reads broken input from user and fetches valid words in english
-
- Reads english dictionary file and loads into a TRIE data structure for constant time lookup for prefixes. One time load.
- Implements custom dictionary based on trie data structure.
-
- Implements dependency injection dagger2 logic required for application.
-
-
Used Dagger2 dependency injection to make this app testable.
-
Used Mockito, JUnit, RoboElectric and Hamcrest frameworks for unit testing.
-
Used Espresso for instrumentation testing.
- Dagger2 - For dependency injection
- Espresso - For instrumentaion testing
- JUnit, Mockito, Hamcrest, Guava, RoboElectric - For Unit testing
- ButterKnife - To bind views without redundant code
- Detailed unit tests need to be added.
- Code clean up
Sarath