Это приложение - тестовое задание для стажера Android-разработчика. Оно позволяет пользователю получить информацию о банковской карте по её BIN (Bank Identification Number).
[https://github.com/user-attachments/assets/7c6a5da2-a702-4b2e-abd4-9ca7cc90a91e]
- Язык: Kotlin
- Асинхронность: Kotlin Coroutines
- UI: Jetpack Compose - современный декларативный UI-тулкит.
- Архитектура: MVVM + Clean Architecture (разделение на слои data, domain, presentation).
- Dependency Injection: Hilt - для внедрения зависимостей.
- Навигация: Navigation Compose - для перемещения между экранами.
- Работа с сетью: Retrofit 2 - для выполнения HTTP-запросов к API.
- Локальное хранилище: Room - для сохранения истории запросов.
- Сборка: Gradle с использованием Version Catalog для управления зависимостями.
Приложение использует публичное API binlist.net для получения информации о BIN.
Проект построен в соответствии с принципами чистой архитектуры и разделен на три основных модуля (слоя):
:domain: Содержит бизнес-логику приложения, модели данных, репозитории (в виде интерфейсов) и Use-Cases. Этот слой не зависит ни от каких других слоев.:data: Реализует интерфейсы репозиториев из domain-слоя. Отвечает за получение данных из сети (Retrofit) и локальной базы данных (Room), а также за маппинг данных.:presentation(app): Отвечает за отображение данных на UI (Jetpack Compose). Содержит ViewModels, которые взаимодействуют с Use-Cases из domain-слоя.
- Клонируйте репозиторий:
git clone https://github.com/Semiys/BinInfoApp.git - Откройте проект в Android Studio.
- Дождитесь синхронизации Gradle.
- Запустите приложение на эмуляторе или физическом устройстве.
Готово к проверке!