Skip to content

kudadengi/app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Куда Деньги — Android-клиент

Открытый клиент сервиса kudadengi.pro. Приложение собирает твои траты, читая push-уведомления банков (NotificationListenerService, как это делает Zenmoney), и показывает, куда уходят деньги.

Почему код открыт

Чтобы собирать траты, приложению нужно чувствительное разрешение — чтение уведомлений. Это разрешение, которым легко злоупотребить, поэтому мы открыли исходный код клиента: любой может убедиться сам, а не поверить на слово.

  • Только чтение. Функции перевода или списания денег в коде просто нет.
  • Ты управляешь тем, что уходит. Настройка приватности с тремя уровнями (Store.analyticsLevel): Выключено — на сервер не уходит ничего; Минимум — только обезличенный агрегат (категория + сумма + день, без мерчанта и текста, Uploader.sendAgg); Нормально (по умолчанию) — при запросе разбора добавляются названия мест, чтобы совет был точным. Всё сырьё считается на телефоне; наружу уходит только итоговая сводка (Store.monthProfile).
  • Отключить доступ можно в любой момент — в системных настройках уведомлений.

Проверить эти утверждения проще всего по трём файлам: BankParser.kt (что вытаскиваем), Uploader.kt (что и куда отправляем), Store.kt (что храним).

Бесплатно и Pro

Free Pro
Банки один все
Траты за месяц, категории да да
Разбор по категориям (все банки) да
AI-советник: разбор трат и что сделать да
Экспорт да

Логика тарифа и приватности — в клиенте (Store.kt: isPro, analyticsLevel, monthProfile). Биллинг и LLM за AI-советником — закрытая часть на стороне сервиса; клиент лишь шлёт обезличенную сводку и показывает ответ.

Как это устроено

app/src/main/
  AndroidManifest.xml          NotificationListenerService + INTERNET + foreground service
  java/pro/kudadengi/app/
    MainActivity.kt            онбординг + главный экран (UI кодом, без XML), тариф Free/Pro
    NotificationListener.kt    ловит уведомления банков
    BankParser.kt              packageName→банк, регэкспы суммы/направления/мерчанта
    Categorizer.kt             мерчант/текст → категория (локально)
    Store.kt                   локальное хранилище (SharedPreferences+JSON), тариф
    Uploader.kt                обезличенные события воронки и агрегаты трат
    KeepAliveService.kt        foreground-сервис, держит процесс живым в фоне
    Models.kt                  модель операции
  res/values/                  цвета/тема бренда, строки

Сборка

Нужны JDK 17 и Android SDK (platform 34, build-tools 34).

./gradlew assembleDebug          # APK → app/build/outputs/apk/debug/app-debug.apk
adb install -r app/build/outputs/apk/debug/app-debug.apk

Как тестировать

  1. Установить APK на Android-телефон, где стоят банковские приложения.
  2. Открыть, нажать «Разрешить доступ к уведомлениям», включить «Куда Деньги» в системном списке.
  3. Совершить покупку картой (или дождаться уведомления банка) — операция появится в ленте.
  4. Долгое нажатие на логотип на главном экране включает Pro для теста (пока нет биллинга).

Ограничения (честно)

  • Парсеры push — эвристики. Форматы уведомлений у банков разные и меняются; реальные шаблоны дособираются на живых уведомлениях. Мерчант извлекается грубо.
  • Только Android. iOS не даёт читать чужие уведомления — ограничение Apple.
  • Хранение локальное, без шифрования — для прототипа. В планах: Room + шифрование.
  • Package-имена банков — актуальные на момент написания, проверять при расширении списка.

Лицензия

MIT © 2026 Куда Деньги (ИП Фатыков К. Р.). Клиент открыт; серверная часть и бренд — нет.

About

Куда Деньги — открытый Android-клиент: читает push банков (Free/Pro), сырьё остаётся на телефоне

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages