Skip to content

VernaculusF/drinkwater

Repository files navigation

💧 ПЕЙ ВОДУ — Тупые напоминания

Минималистичный трекер воды для Android с юмористическими напоминаниями.

🎯 Особенности

  • Без регистрации — всё хранится локально
  • Без графиков — только привычка
  • С юмором — стёбные фразы вместо скучных напоминаний
  • Гибкие настройки — 3 уровня токсичности уведомлений
  • Автоматический расчёт — норма воды по весу (формула: вес × 0.03 л)
  • Тихие часы — не беспокоит ночью

📱 Функционал

Главный экран

  • Огромная кнопка "ВЫПИЛ"
  • Счётчик прогресса (X / N стаканов)
  • Прогресс-бар
  • Случайные стёбные фразы

Настройки

  • Норма воды (по весу или вручную)
  • Интервал напоминаний (1, 2, 3 часа)
  • Тихие часы
  • Уровень токсичности напоминаний:
    • Лайт — дружеские подсказки
    • Средний — лёгкий стёб
    • Душнила — максимальная мотивация

Уведомления

  • Периодические напоминания с разными фразами
  • Учитывают тихие часы
  • Работают в фоне (WorkManager)

🏗️ Структура проекта

lib/
├── main.dart                       # Точка входа, инициализация
├── screens/
│   ├── home_screen.dart            # Главный экран
│   └── settings_screen.dart        # Настройки
├── services/
│   ├── storage_service.dart        # SharedPreferences
│   ├── notification_service.dart   # Уведомления
│   └── phrase_service.dart         # Работа с фразами
├── models/
│   └── app_settings.dart           # Модель настроек
└── constants/
    └── app_constants.dart          # Константы приложения

assets/
└── phrases.json                    # Фразы для уведомлений

🚀 Запуск проекта

Требования

  • Flutter SDK 3.0+
  • Android SDK (min API 24, Android 7.0)
  • Android Studio или VS Code с Flutter плагином

Установка зависимостей

flutter pub get

Запуск на эмуляторе/устройстве

flutter run

Сборка APK

flutter build apk --release

APK будет находиться в build/app/outputs/flutter-apk/app-release.apk

🔧 Настройка

Добавление новых фраз

Отредактируйте файл assets/phrases.json:

{
  "light": ["Фраза 1", "Фраза 2", ...],
  "medium": ["Фраза 1", "Фраза 2", ...],
  "toxic": ["Фраза 1", "Фраза 2", ...]
}

Изменение объёма стакана

В файле lib/constants/app_constants.dart измените:

static const int glassVolumeML = 200; // Объем в мл

📦 Используемые пакеты

  • flutter_local_notifications — локальные уведомления
  • workmanager — фоновые задачи
  • shared_preferences — локальное хранилище

🎨 Кастомизация

Цвета

В lib/constants/app_constants.dart:

static const Color primaryColor = Color(0xFF4FC3F7); // Основной цвет
static const Color accentColor = Color(0xFF29B6F6);  // Акцентный цвет

Размер кнопки

static const double buttonSize = 200.0; // Размер кнопки ВЫПИЛ

🔮 Будущие функции (TODO)

  • Виджет на главный экран Android
  • Интеграция AdMob (баннеры)
  • In-app purchases (убрать рекламу)
  • Rewarded video (получить новую фразу)
  • Статистика (опционально)
  • Достижения (опционально)

📝 Лицензия

MIT License

🤝 Вклад

Если хочешь добавить новые фразы или улучшить функционал — welcome!

⚠️ Важно

  • Все фразы БЕЗ МАТА (для модерации Google Play)
  • Стёб должен быть дружеским, не переходить в оскорбления
  • Приложение не заменяет медицинских рекомендаций

Сделано с 💧 и чувством юмора

About

A minimalist water tracker for Android with humorous reminders.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors