Expenso - Как устроен идеальный учебный проект для Android-разработчиков
Репозиторий давно не обновлялся
Последнее обновление было 3 года назад.
Знакомо чувство, когда хочется разобраться с современными Android-технологиями, но все примеры либо слишком сложные, либо устаревшие? Expenso решает эту проблему — это готовое приложение для учета расходов, которое собрало под капотом все актуальные инструменты разработки.
Почему именно этот проект?
Expenso — это не просто трекер расходов. Автор создал его специально как учебный пример, демонстрирующий:
- Работу с архитектурой MVVM
- Использование Kotlin Coroutines и Flow
- Лучшие практики работы с Room и DataStore
При этом проект остаётся полностью рабочим приложением с продуманным UI (есть даже тёмная тема!) — можно и учиться, и пользоваться.
Ключевые возможности
-
Полноценный трекинг расходов
- Добавление и редактирование транзакций
- Категоризация доходов/расходов
- Наглядная статистика
-
Современный стек технологий
- Kotlin + Coroutines
- Jetpack Components (Room, ViewModel, Navigation)
- Material Design
-
Качественный UI
- Поддержка светлой и тёмной темы
- Интуитивная навигация
- Готовые макеты в Figma

Что особенно ценно для разработчиков
Чистая архитектура
Проект организован по всем канонам MVVM с четким разделением на:
- data (работа с БД)
- repo (бизнес-логика)
- view (UI компоненты)
// Пример структуры пакетов
dev.spikeysanju.expenso
├── data
│ ├── local
├── model
├── repo
├── view
│ ├── main
│ ├── Dashboard
│ ├── Add
│ ├── Edit
│ ├── Details
Актуальные технологии
Автор не просто использует модные библиотеки, а показывает их практическое применение:
- Room для локального хранилища
- DataStore вместо SharedPreferences
- StateFlow для управления состоянием UI
Для кого этот проект?
- Начинающие Android-разработчики — отличный способ изучить современный стек на реальном примере
- Опытные программисты — можно использовать как шаблон для своих проектов
- Преподаватели — готовый учебный материал с хорошей архитектурой
Как начать работать с проектом
- Клонируйте репозиторий:
git clone https://github.com/Spikeysanju/Expenso.git
- Откройте проект в Android Studio
- Изучите структуру кода
- Запустите приложение — оно сразу работает!

Вывод: стоит ли тратить время?
Определенно да! Expenso — это редкий случай, когда учебный проект:
- Имеет практическую ценность (можно использовать как личный трекер расходов)
- Демонстрирует современные подходы к разработке
- Хорошо документирован и поддерживается
Особенно рекомендую тем, кто хочет разобраться с:
- Работой Flow/StateFlow в UI
- Организацией многоэкранного приложения
- Лучшими практиками работы с Room
А если вам понравится подход автора — есть еще и iOS-версия этого приложения!
