Awesome Open Source
Awesome Open Source

Memorize

Japanese-English-Mongolian dictionary. It lets you find words, kanji and more quickly and easily.

Direct apk download

Features Screenshots Architecture Authors Donate Contributors License

Features

  • 100% functional offline
  • Flash cards
  • Quiz
  • Great search
  • Find common and more often used words more easily
  • Minimalist structure allows for efficient studying and reduces distractions

Screenshots

Home Search Details Quiz Flash cards
Home Search details Quiz flash

Architecture

The architecture of our Android apps is based on the MVP (Model View Presenter) pattern.

  • Helpers (Model): A set of classes, each of them with a very specific responsibility. Their function can range from talking to APIs or a database to implementing some specific business logic. Every project will have different helpers but the most common ones are:

    • DatabaseHelper: It handles inserting, updating and retrieving data from a local SQLite database, using Room
    • PreferencesHelper: It saves and gets data from SharedPreferences.
  • Data Manager (Model): It's a key part of the architecture. It keeps a reference to every helper class and uses them to satisfy the requests coming from the presenters. Its methods make extensive use of Room, transform or filter the output coming from the helpers in order to generate the desired output ready for the Presenters. It returns observables that emit data models.

  • Presenters: Subscribe to observables provided by the DataManager and process the data in order to call the right method in the View.

  • Activities, Fragments, ViewGroups (View): Standard Android components that implement a set of methods that the Presenters can call. They also handle user interactions such as clicks and act accordingly by calling the appropriate method in the Presenter. These components also implement framework-related tasks such us managing the Android lifecycle, inflating views, etc.

Authors

Turtuvshin Byambaa Enkhbayar Doljinsuren
Turtuvshin Doljinsuren

Donate

If you'd like to join them, please consider:

Buy Me a Coffee at ko-fi.com Become a Patron!

Contributors

You may contribute in several ways like creating new features, fixing bugs, improving documentation and examples or translating any document here to your language. Find more information in CONTRIBUTING.md. Contributors

License

Copyright (C) 2019 Intelligo Systems.
Memorize is open-sourced software licensed under the MIT license.
(See the LICENSE file for the whole license text.)

⬆ back to top


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
java (31,121
android (6,275
android-application (278
mvp (218
application (146
dictionary (103
japanese (68
mvp-architecture (60
english (59
mvp-android (53
dictionaries (29
mvp-pattern (16