NoteAppWithKmm
Note App used to save your notes as text, images, and URLs by beautiful design by using Kmm(kotlin mulit-platform) in cache.
Screenshots
Built With
- Kotlin – As a programming language.
- Jetpack Compose – Jetpack Compose is Android’s modern toolkit for building native UI. It simplifies and accelerates UI development on Android. Quickly bring your app to life with less code, powerful tools, and intuitive Kotlin APIs.
- MVI Architecture With no clear state management, view rendering along with the business logic can get a little bit messy as the application grows or adding functionalities or a feature that was not planned beforehand, and let’s be honest that can happen often, it’s rare to have all the features clearly and fully defined from the start of the project specifications, the more the app codebase is scalable the more it’s flexible to embrace new ideas and updates.
- Coroutines – For multithreading while handling requests to the server and local database.
- Navigation Component – To handle app navigation.
- Multidex – To enable creating multi dex files because of using set of libraries that reached the maximum size of single dex file.
- Model-View-ViewModel(MVVM) – Offers an implementation of observer design pattern.
- mutableState – notifies views of any database changes in an observer way.
- Sqldelight – SQLDelight is quickly becoming the defacto library for persisting data locally in Kotlin Multiplatform (KMP) projects. It generates type-safe APIs from SQL statements. Generally, the installation steps in the documentation are not bad but I managed to get stuck at some point. I was putting the .sq file in a wrong folder so my database schema was not generated—no warnings, just nothing gets generated.
- Naiper – It helps in logging while debugging your app. and all logging code will not be embedded in the released APK.
- koin – It is arguably the most used Dependency Injection, or DI, framework for Android. Many Android projects use Dagger to simplify building and providing dependencies across the app. It gives you the ability to create specific scopes, modules, and components, where each forms a piece of a puzzle: The dependency graph.
- shimmer – It was developed in need for a shimmer effect that traverses across the whole screen, bringing only a certain subset of child views to shine.
- Clean Architecture – Applying Clean Architecture and usecases and Solid Principles to build a robust, maintainable, and testable application.