/jettimer

:hourglass_flowing_sand: Timer app clone built with Jetpack Compose and Hilt #AndroidDevChallenge

Primary LanguageKotlinApache License 2.0Apache-2.0

Social Preview

Jettimer

Workflow result Kotlin Compose

What's Jettimer? ⏳

Timer app clone built with Jetpack Compose and Hilt. The purpose of this project is to try new Android technologies and learn how it works in an app.

Motivation and Context

Make Your Own Animation. It's so Easy!

ProgressWithThumb Transition Visibility

Canvas-AnimateFloatAsState

img

AnimatedVisibility

img

AnimatedVisibility

img

Features 👓

The codebase focuses on following key things:

  • Single Activity Design
  • Clean and Simple UI 🎨
  • Jetpack Compose UI
  • Canvas - Jetpack Compose
  • Notifications
  • Services
  • Broadcast receivers

Screenshots ✨

Libraries and tools 🛠

  • Kotlin - First class and official programming language for Android development.
  • Coroutines - For asynchronous and more..
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • LiveData - LiveData is an observable data holder class. Unlike a regular observable, LiveData is lifecycle-aware.
  • Navigation Component Navigation refers to the interactions that allow users to navigate across, into, and back out from the different pieces of content within your app.
  • Dependency Injection -
    • Hilt-Dagger - Standard library to incorporate Dagger dependency injection into an Android application.
    • Hilt-ViewModel - DI for injecting ViewModel.
  • Jetpack Compose UI Toolkit - Modern UI development toolkit.
  • Accompanist - A collection of extension libraries for Jetpack Compose.
  • Spotless - Keep your code spotless.
  • EventBus - EventBus is an open-source library for Android and Java using the publisher/subscriber pattern for loose coupling.

Inspiration

  • Clock - Set alarms, add timers, and run a stopwatch

License

Copyright 2020 The Android Open Source Project

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

    https://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.