Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

XataBq/JetpackApp

Open more actions menu

Repository files navigation

JetpackApp — Auth Flow на Jetpack Compose

Портфолийный Android-проект на Jetpack Compose, в котором реализован authentication flow с архитектурой, приближённой к production-подходу.

📍 Москва, Россия
💬 Telegram: https://t.me/ferlow


Цель проекта

Показать умение:

  • проектировать навигацию в Compose
  • грамотно работать со state и ViewModel
  • разделять UI и бизнес-логику
  • писать поддерживаемый и масштабируемый код

Проект используется как case-study для стажировки Android-разработчика.


Реализовано

  • Navigation Compose с nested graphs (auth / main)
  • Общий AuthViewModel, заскоупленный на Graph.Auth
  • Навигация через UiEvent (однонаправленные события)
  • Передача аргументов через route (email) + SavedStateHandle
  • Вынос общих UI-компонентов в отдельный пакет
  • Чёткая модель UI-состояний (sealed states, validation state)
  • Отсутствие бизнес-логики в composable-функциях

Архитектура

UI → ViewModel → (Domain) → (Data)

Ключевые решения:

  • ViewModel живёт на уровне навигационного графа и шарится между экранами
  • Навигация инициируется из ViewModel через события
  • Дублирование состояния избегается
  • UI полностью управляется состоянием

Стек

  • Kotlin
  • Jetpack Compose
  • Navigation Compose
  • MVVM
  • Coroutines
  • DI(Hilt)

Code style

В проекте используется ktlint для единого стиля Kotlin-кода.

  • Проверка: ./gradlew ktlintCheck
  • Форматирование: ./gradlew ktlintFormat

Правила задаются в .editorconfig.


Планы развития

  • Подключить Dependency Injection (Hilt)
  • Унифицировать обработку ошибок
  • Добавить unit-тесты для ViewModel
  • Улучшить UI и добавить скриншоты

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

  1. Клонировать репозиторий
  2. Открыть в Android Studio
  3. Запустить на эмуляторе или устройстве

About

Jetpack Compose auth flow with nested navigation graphs and shared ViewModel (MVVM)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.