Skip to content

Rodinamomen/DropCount

Repository files navigation

Drop Count

Logo About
Drop Count is a water tracking app designed to help users monitor their daily water intake. The app sends hourly notifications, lets you choose the amount of water you drank per cup, and allows you to review your intake records. It also supports both dark and light themes.

Table of Contents

Features

  • Customizable Cup Size: Log your water intake by selecting the cup size that fits your preference.
  • Hourly Notification Reminder: Get notified every hour to remind you to drink water.
  • Water Intake History: Track and view your water intake history over time to monitor your progress.
  • Daily Reset: Automatically reset your total water intake at the start of each day.
  • Dark/Light Theme: Easily switch between dark and light themes for a personalized app experience.

Demo

Check out the video demonstration of DropCount:

dropcount.mp4

Screenshots

Here’s a walkthrough of DropCount showing both light and dark themes.

1. Before Adding Water Records:

Light Theme Dark Theme

2. Choosing Water Cup:

Light Theme Dark Theme

This screen allows the user to choose the size of the water cup they want to log.

3. After Logging Water Intake:

Light Theme Dark Theme

This screen displays the app after the user has logged their water intake, showing progress toward the daily hydration goal.

4. Enabling Hourly Reminder Notification:

Light Theme Dark Theme

This screen demonstrates the process of enabling the hourly water intake reminder notification. The user can activate this feature to receive periodic reminders to log their water intake.

5. Disabling Hourly Reminder Notification:

Light Theme Dark Theme

This screen shows the process of disabling the hourly reminder notification. The user can turn off notifications to stop receiving periodic reminders about their water intake.

6. Congratulations for Reaching Daily Intake Target:

Light Theme Dark Theme

This screen celebrates the user for achieving their daily water intake goal. A congratulatory message is displayed along with animations to mark the accomplishment.

Technologies Used

  • Shared Preferences: Used to store user preferences such as theme selection and notification settings.
  • WorkManager: Handles scheduling of periodic tasks, such as sending hourly water intake reminders.
  • Room Database: Provides a persistent local database for storing water intake history and records.
  • Navigation Components: Used for navigating between different screens and fragments within the app.
  • View Binding: Ensures safe and efficient interaction with UI components.
  • Coroutines: Used for handling background tasks asynchronously, such as retrieving data from Room or API calls.
  • Notifications: Used to remind the user to log their water intake periodically.

Getting Started

To get a local copy of the project up and running, follow these steps:

Clone the Repository

  1. Clone the repository by running the following command in your terminal:

    git clone https://github.com/Rodinamomen/DropCount.git

Dependencies

The project relies on the following libraries and frameworks:

  • Navigation Components

    • androidx.navigation:navigation-fragment-ktx:2.7.7
    • androidx.navigation:navigation-ui-ktx:2.7.7
  • WorkManager

    • androidx.work:work-runtime-ktx:2.9.1
  • Konfetti (for celebrations)

    • nl.dionsegijn:konfetti-xml:2.0.4
  • Circular Progress Bar

    • com.mikhaellopez:circularprogressbar:3.1.0
  • Room Database

    • androidx.room:room-runtime:2.6.1
    • androidx.room:room-ktx:2.6.1
    • androidx.room:room-compiler:2.6.1

Add these dependencies to your build.gradle (Module: app) file to ensure that all necessary libraries are included in your project.

Languages:

This project is developed using:

  • Kotlin for writing application logic.
  • XML for defining user interface layouts and resources.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages