{"id":13668577,"url":"https://github.com/ericktijerou/jettimer","last_synced_at":"2025-04-26T22:31:51.207Z","repository":{"id":46752048,"uuid":"344213458","full_name":"ericktijerou/jettimer","owner":"ericktijerou","description":":hourglass_flowing_sand: Timer app clone built with Jetpack Compose and Hilt #AndroidDevChallenge","archived":false,"fork":false,"pushed_at":"2021-03-08T17:55:14.000Z","size":7887,"stargazers_count":121,"open_issues_count":0,"forks_count":13,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-08-02T08:06:57.935Z","etag":null,"topics":["android","androiddevchallenge","androiddevchallenge-","androiddevchallenge-compose","compose","dagger2","dagger2-android","declarative-ui","hilt-android","hilt-viewmodel","jetpack-android","jetpack-compose","jetpack-navigation","kotlin"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ericktijerou.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-03-03T17:47:00.000Z","updated_at":"2024-07-21T04:12:44.000Z","dependencies_parsed_at":"2022-07-22T06:17:56.615Z","dependency_job_id":null,"html_url":"https://github.com/ericktijerou/jettimer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"android/android-dev-challenge-compose","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericktijerou%2Fjettimer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericktijerou%2Fjettimer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericktijerou%2Fjettimer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericktijerou%2Fjettimer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ericktijerou","download_url":"https://codeload.github.com/ericktijerou/jettimer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224048757,"owners_count":17247081,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","androiddevchallenge","androiddevchallenge-","androiddevchallenge-compose","compose","dagger2","dagger2-android","declarative-ui","hilt-android","hilt-viewmodel","jetpack-android","jetpack-compose","jetpack-navigation","kotlin"],"created_at":"2024-08-02T08:00:42.269Z","updated_at":"2024-11-11T04:31:18.858Z","avatar_url":"https://github.com/ericktijerou.png","language":"Kotlin","funding_links":[],"categories":["\u003ca name=\"app-projects\"\u003e\u003c/a\u003e App Projects","Timer apps"],"sub_categories":["UI"],"readme":"![Social Preview](results/social.jpeg)\n\n# Jettimer\n![Workflow result](https://github.com/ericktijerou/jettimer/workflows/Check/badge.svg)\n[![Kotlin](https://img.shields.io/badge/Kotlin-1.4.30-blueviolet.svg)](https://kotlinlang.org)\n[![Compose](https://img.shields.io/badge/Compose-1.0.0--beta01-blue)](https://developer.android.com/jetpack/compose)\n\n## What's Jettimer? :hourglass_flowing_sand:\nTimer app clone built with Jetpack Compose and Hilt.\nThe purpose of this project is to try new Android technologies and learn how it works in an app.\n\n## Motivation and Context\nMake Your Own Animation. It's so Easy!\n\nProgressWithThumb | Transition | Visibility\n| :---: | :---: | :---: |\n\u003cbr/\u003eCanvas-AnimateFloatAsState\u003cbr/\u003e\u003cbr/\u003e ![img](results/progress_with_thumb.gif) | \u003cbr/\u003eAnimatedVisibility\u003cbr/\u003e\u003cbr/\u003e![img](results/transition.gif) | \u003cbr/\u003eAnimatedVisibility\u003cbr/\u003e\u003cbr/\u003e![img](results/button.gif)\n\n\n## Features  👓\n\nThe codebase focuses on following key things:\n\n- Single Activity Design\n- Clean and Simple UI 🎨\n- Jetpack Compose UI\n- Canvas - Jetpack Compose\n- Notifications\n- Services\n- Broadcast receivers\n\n\n## Screenshots ✨\n\u003cimg src=\"/results/screenshot_1.png\" width=\"260\"\u003e\u0026emsp;\u003cimg src=\"/results/screenshot_2.png\" width=\"260\"\u003e\u0026emsp;\u003cimg src=\"/results/screenshot_3.png\" width=\"260\"\u003e\n\n## Libraries and tools 🛠\n\n- [Kotlin](https://kotlinlang.org/) - First class and official programming language for Android development.\n- [Coroutines](https://kotlinlang.org/docs/reference/coroutines-overview.html) - For asynchronous and more..\n- [Android Architecture Components](https://developer.android.com/topic/libraries/architecture) - Collection of libraries that help you design robust, testable, and maintainable apps.\n  - [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel) - Stores UI-related data that isn't destroyed on UI changes.\n  - [LiveData](https://developer.android.com/topic/libraries/architecture/livedata) - LiveData is an observable data holder class. Unlike a regular observable, LiveData is lifecycle-aware.\n- [Navigation Component](https://developer.android.com/guide/navigation/navigation-getting-started) Navigation refers to the interactions that allow users to navigate across, into, and back out from the different pieces of content within your app.\n- [Dependency Injection](https://developer.android.com/training/dependency-injection) -\n  - [Hilt-Dagger](https://dagger.dev/hilt/) - Standard library to incorporate Dagger dependency injection into an Android application.\n  - [Hilt-ViewModel](https://developer.android.com/training/dependency-injection/hilt-jetpack) - DI for injecting `ViewModel`.\n- [Jetpack Compose UI Toolkit](https://developer.android.com/jetpack/compose) - Modern UI development toolkit.\n- [Accompanist](https://chrisbanes.github.io/accompanist/) - A collection of extension libraries for Jetpack Compose.\n- [Spotless](https://github.com/diffplug/spotless) - Keep your code spotless.\n- [EventBus](https://greenrobot.org/eventbus/) - EventBus is an open-source library for Android and Java using the publisher/subscriber pattern for loose coupling.\n\n## Inspiration\n\n- [Clock](https://play.google.com/store/apps/details?id=com.google.android.deskclock) - Set alarms, add timers, and run a stopwatch\n\n## License\n```\nCopyright 2020 The Android Open Source Project\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    https://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericktijerou%2Fjettimer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fericktijerou%2Fjettimer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericktijerou%2Fjettimer/lists"}