Master your memory using spaced repetition!
Welcome to "Learn It" App. Master complex topics using spaced repetition. You cannot take your sweet time to understand a topic. The world won't wait for you. The only way to keep up in such scenarios is to memorise the content. Your brain will constantly try to find patterns and make sense of what you remembered. After several revisions you will eventually understand it. This App will help you revise efficiently using spaced repetition technique which is scientifically tested.
As Jon Von Neumann says, "In mathematics, you don't understand things, you just get used to them." Some people think this is a wrong statement but this is a fact. Humans don't see recursion and iteration in their daily lives. These kind of topics will only make sense when you get used to them.
- Minimum SDK level 31
- Kotlin based, Coroutines + Flow for asynchronous.
- Jetpack
- Lifecycle: Observe Android lifecycles and handle UI states upon the lifecycle changes.
- ViewModel: Manages UI-related data holder and lifecycle aware. Allows data to survive configuration changes such as screen rotations.
- DataBinding: Binds UI components in your layouts to data sources in your app using a declarative format rather than programmatically.
- Room: Constructs Database by providing an abstraction layer over SQLite to allow fluent database access.
- Hilt: for dependency injection.
- WorkManager: WorkManager allows you to schedule work to run one-time or repeatedly using flexible scheduling windows.
- Architecture
- MVVM Architecture (View - DataBinding - ViewModel - Model)
- Repository Pattern
- Retrofit2 & OkHttp3: Construct the REST APIs and paging network data.
- gson: A Java serialization/deserialization library to convert Java Objects into JSON and back.
- Material-Components: Material design components for building ripple animation, and CardView.
- Coil: Image loading for Android and Compose Multiplatform.
- Lottie: Render After Effects animations natively on Android and iOS, Web, and React Native.
- Balloon: Modernized and sophisticated tooltips, fully customizable with an arrow and animations for Android.
This App is based on the MVVM architecture and the Repository pattern, which follows the Google's official architecture guidance.
The overall architecture of this App is composed of two layers; the UI layer and the data layer. Each layer has dedicated components and they have each different responsibilities.