Expenso - Как устроен идеальный учебный проект для Android-разработчиков

25 окт 2025

Репозиторий давно не обновлялся

Последнее обновление было 3 года назад.

1,064
184
13
3 года

Знакомо чувство, когда хочется разобраться с современными Android-технологиями, но все примеры либо слишком сложные, либо устаревшие? Expenso решает эту проблему — это готовое приложение для учета расходов, которое собрало под капотом все актуальные инструменты разработки.

Почему именно этот проект?

Expenso — это не просто трекер расходов. Автор создал его специально как учебный пример, демонстрирующий:

  • Работу с архитектурой MVVM
  • Использование Kotlin Coroutines и Flow
  • Лучшие практики работы с Room и DataStore

При этом проект остаётся полностью рабочим приложением с продуманным UI (есть даже тёмная тема!) — можно и учиться, и пользоваться.

Ключевые возможности

  1. Полноценный трекинг расходов

    • Добавление и редактирование транзакций
    • Категоризация доходов/расходов
    • Наглядная статистика
  2. Современный стек технологий

    Реклама
    • Kotlin + Coroutines
    • Jetpack Components (Room, ViewModel, Navigation)
    • Material Design
  3. Качественный UI

    • Поддержка светлой и тёмной темы
    • Интуитивная навигация
    • Готовые макеты в Figma

Dashboard

Что особенно ценно для разработчиков

Чистая архитектура

Проект организован по всем канонам MVVM с четким разделением на:

  • data (работа с БД)
  • repo (бизнес-логика)
  • view (UI компоненты)
// Пример структуры пакетов
dev.spikeysanju.expenso
├── data                
│   ├── local           
├── model               
├── repo                
├── view                
│   ├── main            
│   ├── Dashboard       
│   ├── Add             
│   ├── Edit            
│   ├── Details         

Актуальные технологии

Автор не просто использует модные библиотеки, а показывает их практическое применение:

  • Room для локального хранилища
  • DataStore вместо SharedPreferences
  • StateFlow для управления состоянием UI

Для кого этот проект?

  1. Начинающие Android-разработчики — отличный способ изучить современный стек на реальном примере
  2. Опытные программисты — можно использовать как шаблон для своих проектов
  3. Преподаватели — готовый учебный материал с хорошей архитектурой

Как начать работать с проектом

  1. Клонируйте репозиторий:
git clone https://github.com/Spikeysanju/Expenso.git
  1. Откройте проект в Android Studio
  2. Изучите структуру кода
  3. Запустите приложение — оно сразу работает!

Dark Theme

Вывод: стоит ли тратить время?

Определенно да! Expenso — это редкий случай, когда учебный проект:

  • Имеет практическую ценность (можно использовать как личный трекер расходов)
  • Демонстрирует современные подходы к разработке
  • Хорошо документирован и поддерживается

Особенно рекомендую тем, кто хочет разобраться с:

  • Работой Flow/StateFlow в UI
  • Организацией многоэкранного приложения
  • Лучшими практиками работы с Room

А если вам понравится подход автора — есть еще и iOS-версия этого приложения!

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.