Skip to content

winter-love-dev/ComposeNoteApp

Repository files navigation

ComposeNoteApp

This project to study 'Domain Layer' and declarative UI with ‘Android Jetpack Compose

I have already completed the 'DevFest 2021 Android Jetpack Compose' training course. Also, because I have experience developing declarative UI with iOS and Flutter, I was able to remember and learn this Compose study quickly and easily.



Some screen recording

Writing Note Editing Note Delete Note

App Layout Reference by Google Keep

Tech Stack

Kotlin Version License

All library info : libs.versions.toml

  • AAC-ViewModel Combined with the screen, it maintains screen state and handles UI state and screen rotation events.
  • Coroutine Asynchronous Task. Used 'Flow' to make data flow and reflect it in the UI.
  • Jetpack
    • Hilt Dependency Injection
    • Room
      • Focused on implementing functionality by leveraging SQLite wrapped in an abstraction layer, and combined 'Flow' to implement UI interaction more easily.
    • Compose
      • Programming in ‘Custom UI Component’ units
      • ‘Custom UI component’ that emits events based on higher-order functions
      • Implement a UI testable screen by separating @Composable functions

Architecture

Domain Layer, Reference by Domain Layer Docs

Work Focused

  • Define feature specification
  • Programming on the repository layer or feature layer, By domain layer specification.
  • Programming in ‘UseCase’ units
  • And code abstraction

Compose UI Programming, Reference by Unidirectional data flow document Pattern.


Multi Module Architecture, Reference by android/nowinandroid


MVVM Design pattern with Dependency Injection, Reference by App Arhitecture Guide

compose_mvvm

License

Copyright 2023 winter-love-dev

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages