Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BIN Info App

Это приложение - тестовое задание для стажера 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

Приложение использует публичное API binlist.net для получения информации о BIN.

🏗️ Структура проекта

Проект построен в соответствии с принципами чистой архитектуры и разделен на три основных модуля (слоя):

  • :domain: Содержит бизнес-логику приложения, модели данных, репозитории (в виде интерфейсов) и Use-Cases. Этот слой не зависит ни от каких других слоев.
  • :data: Реализует интерфейсы репозиториев из domain-слоя. Отвечает за получение данных из сети (Retrofit) и локальной базы данных (Room), а также за маппинг данных.
  • :presentation (app): Отвечает за отображение данных на UI (Jetpack Compose). Содержит ViewModels, которые взаимодействуют с Use-Cases из domain-слоя.

🚀 Как собрать и запустить

  1. Клонируйте репозиторий: git clone https://github.com/Semiys/BinInfoApp.git
  2. Откройте проект в Android Studio.
  3. Дождитесь синхронизации Gradle.
  4. Запустите приложение на эмуляторе или физическом устройстве.

Готово к проверке!

About

Android application to get bank card information by its BIN. Built with Kotlin, Jetpack Compose, and Clean Architecture.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages