Skip to content

winter-love-dev/CatchBottle

Repository files navigation

CatchBottle

thumb

'Catch Bottle' project is a great way to enjoy my favorite whiskey and programming together.

Concept: Alcohol sales commerce
Design reference, Banner image asset from DailyShot Service



Some screen recording

Enter your nickname to enter the 'Catch Bottle' world You can explore banner events and alcohol information


Tech Stack

Kotlin Version License

  • 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.
    • Worker

      • Easy background Asynchronous Task. This included one-time data patching or ongoing data processing.
    • Compose

      • UI work made easier than 'Views' in a declarative manner. Programming by referring to the Unidirectional data flow document.
      • Programming in ‘Custom UI Component’ units, based on my own 'Design System'.
      • ‘Custom UI component’ that emits events based on higher-order functions
      • Implement a UI testable screen by separating @Composable functions
    • Navigation is Navigate multiple screens with tab navigation

  • Glide Image loading library
  • Firebase
    • Use RemoteConfig, Implementing Banner Image Event
    • Banckend Storage Managning by FireStorage

All library info : libs.versions.toml



Architecture

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

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.


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

Multi Module Architecture, Reference by android/nowinandroid


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




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