Skip to content

A Notes app built using KMP(Kotlin Multiplatform), formerly known as KMM (Kotlin Multiplatform Mobile)

Notifications You must be signed in to change notification settings

technophilist/KMP-Notes-App

Repository files navigation

Notes - A multiplatform notes app built with Kotlin Multiplatform

Banner image

Project Status: Active – The project has reached a stable, usable state and is being actively developed.

Notes is a simple note taking app built with KMP(Kotlin Multiplatform), formerly known as KMM (Kotlin Multiplatform Mobile). The app is supported on both iOS and Android.

Table of contents

  1. Demo
  2. Screenshots
  3. Tech Stack
  4. Notable Features
  5. High-level Architecture Diagram
  6. Source code and architecture

Demo

Android

Notes-Android-Emulator-Demo.mp4

IOS

Notes-IOS-Simulator-Demo.mp4

Screenshots

Android

   

IOS

   

Tech Stack

Common

Android

IOS

  • Swift UI for UI and navigation on IOS.

Notable features

Auto save 🪄
The app automatically saves the changes made to a note in an efficient manner. This precludes the need for the user to click a save button after every change, thus, significantly improving the UX of the app.
Instant search 🔍
The app instantly starts to search for notes that match the provided search term, as the search term is being typed, in an efficient manner. It not only looks for matches to the title of the notes but also checks for matches to the contents of the notes as well. This ensures that search results are returned to the user as soon as possible.
Native UI 🔮
The UI looks and feels native on each supported paltform - Android and IOS. This is because the the UI is built completely using UI tool kits that are native to each platform. This ensures that the user gets a native looking app on both the platforms.
Themed splash screen 🎨
In Android 12 and above, the background color of the splash screen matches the system theme. This minor detail, helps in improving the synergy of the app with the rest of the system from the moment the app is launched.
Themed App Icon 🦄
The app also supports the "Themed Icons" feature available on Android 13 and later. If the user has opted in for the feature on a device that is running Android 13 and higher, the app's icon will be tinted to inherit the coloring of the user’s chosen wallpaper and other themes.

High-level Architecture Diagram

Source code and Architecture

  • Uses MVVM architecture.
  • All concrete implementations in the common module are prefixed by the term “Default”.
  • Commit messages follow the Conventional Commits specification.
  • The module structure is heavily based on the guidance mentioned in the "Guide to architecture article" posted on the offical android developers website.

Disclaimer

I am primarily an Android developer and I learnt Swift and Swift UI on the fly, while I was developing the app. I am not familiar with ios development atall, so, there might be some slight issues with code quality on the ios side of things. My focus was to get the ios app, up and running as soon as possible with the very limited amount of knoweldge that I had on Swift.

About

A Notes app built using KMP(Kotlin Multiplatform), formerly known as KMM (Kotlin Multiplatform Mobile)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published