{"id":22449907,"url":"https://github.com/turskyi/hydration-reminder-service","last_synced_at":"2026-05-03T07:46:50.286Z","repository":{"id":133703578,"uuid":"348705230","full_name":"Turskyi/Hydration-Reminder-Service","owner":"Turskyi","description":"Simple Android app demonstrating the use of worker, intent service, and shared preference listener. Reminds users to drink water and tracks hydration. Educational project showcasing background tasks and preference management.","archived":false,"fork":false,"pushed_at":"2024-07-21T01:41:50.000Z","size":1322,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-03T01:41:02.942Z","etag":null,"topics":["android","android-workmanager","broadcast-reciever","coroutines","jobintentservice","kotlin","monolith","sharedpreferences","worker"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Turskyi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-17T12:41:49.000Z","updated_at":"2024-07-21T16:09:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"9a942fac-712c-4aa8-b5e0-e5927680978c","html_url":"https://github.com/Turskyi/Hydration-Reminder-Service","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Turskyi/Hydration-Reminder-Service","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Turskyi%2FHydration-Reminder-Service","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Turskyi%2FHydration-Reminder-Service/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Turskyi%2FHydration-Reminder-Service/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Turskyi%2FHydration-Reminder-Service/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Turskyi","download_url":"https://codeload.github.com/Turskyi/Hydration-Reminder-Service/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Turskyi%2FHydration-Reminder-Service/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32562118,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","android-workmanager","broadcast-reciever","coroutines","jobintentservice","kotlin","monolith","sharedpreferences","worker"],"created_at":"2024-12-06T05:12:24.754Z","updated_at":"2026-05-03T07:46:50.269Z","avatar_url":"https://github.com/Turskyi.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Stand With Ukraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner-direct-single.svg)](https://stand-with-ukraine.pp.ua)\n\u003cimg alt=\"GitHub commit activity\" src=\"https://img.shields.io/github/commit-activity/m/Turskyi/Hydration-Reminder-Service\"\u003e\n\n# Hydration Reminder Service\n\n## Project Description\n\nThe Hydration Reminder Service is an Android mobile application designed to remind users to drink\nwater. The app features a single screen with a picture of a glass and a counter in the middle.\nAbove the glass, there is a text prompt: \"Press the glass of water after you have hydrated.\" At\nthe bottom, the text \"Hydrate while charging reminder sent 0 times\" is displayed.\n\n## Features\n\n- **Main Screen**: Displays a picture of a glass with a counter. Users are prompted to press the\n- glass after hydrating.\n- **Water Count**: Keeps track of the number of times the user has hydrated.\n- **Charging Reminder**: Sends reminders to hydrate while the device is charging.\n\n## Installation Instructions\n\n1. Download the project.\n2. Open the project in Android Studio.\n3. Run the project from Android Studio.\n\n## Usage\n\nOnce installed, developers can observe a solid example of using a worker, intent service, and\nshared preference listener. The app can be installed on an Android device and used as a hydration\nreminder app. Note that the app is not unique and similar functionality can be found in many other\napps on Google Play. The primary usefulness of the project lies in its educational value,\ndemonstrating how to use the mentioned technologies.\n\n## Technologies Used\n\n- **Kotlin**: Programming language.\n- **BroadcastReceiver**: For receiving system-wide broadcast announcements.\n- **JobIntentService**: For handling background tasks.\n- **kotlinx.coroutines**: For coroutine support.\n- **androidx.preference:preference-ktx**: For preference support.\n- **androidx.work:work-runtime-ktx**: For WorkManager support.\n- Architectural pattern: [Monolith](https://en.wikipedia.org/wiki/Monolithic_application).\n- **Code Readability:** code is easily readable with no unnecessary blank lines, no unused variables\n  or methods, and no commented-out code, all variables, methods, and resource IDs are descriptively\n  named such that another developer reading the code can easily understand their function.\n\n## Contributing\n\nAnyone can contribute by creating a pull request with changes. Contributions are welcome, although\nthe app currently does not have unique features that differentiate it from other hydration\nreminder apps.\n\n## Credits\n\nThis project may have been inspired by a tutorial from Google, but the specific tutorial is no\nlonger available.\n\n## License\n\nThis project does not have an intentional license.\n\n### Screenshot:\n\n\u003c!--suppress CheckImageSize --\u003e\n\u003cimg src=\"screenshots/Screenshot_20240720.png\" width=\"400\"  alt=\"screenshot\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fturskyi%2Fhydration-reminder-service","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fturskyi%2Fhydration-reminder-service","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fturskyi%2Fhydration-reminder-service/lists"}