Estudos de Caso Empíricos e Registros de Decisão (ADRs)

Water Drink: a detailed look at how the hydration tracking app works

Details on onboarding, home screen, exercise-based goal boosts, favorites, achievements, notifications, settings, tracking, and the Android widget of the Water Drink (Hidratação Diária) app.

ExpoReact Nativeandroidnotificationswidget

In the previous post I introduced Water Drink, the Hidratação Diária project, a mobile app built with React Native + Expo to track water intake throughout the day. In this article I go into detail on each feature, based on the project's README.

Full source code at: https://github.com/marcelo3macedo/water-drink


Personalized onboarding

The user's first contact with the app is a short questionnaire:

Welcome
Sex
Age range
Weight
Recommended goal
Onboarding complete

Home screen

waterdrink-tela-inicial

Exercise-based goal boost

After a workout, the user can replenish lost fluids without changing the goal on other days:

waterdrink-exercicio

Favorites

waterdrink-recipientes-favoritos

Achievements

waterdrink-conquistas

Notifications

Reminders
Notification center

Settings

waterdrink-configuracoes

Tracking

waterdrink-acompanhamento

Android widget

waterdrink-widget

Technologies

How to run it

bash
# Install dependencies
npm install

# Start the development server
npx expo start

Testing notifications and the widget requires a Development Build instead of Expo Go:

bash
# Android
npx expo run:android

# iOS
npx expo run:ios

Full source code available at github.com/marcelo3macedo/water-drink.