Skip to content

bybuss/WorkmateTestTask

Repository files navigation

Currency Converter

Оглавление

Описание

Currency Converter — приложение для конвертации валют, выполненное как тестовое задание для компании Workmate. Оно состоит из трех экранов: "Валюты", "Обмен" и "Транзакции". Приложение позволяет просматривать курсы валют, обменивать валюту с учетом доступных средств на счетах и просматривать историю транзакций.

Основные функции

  1. Анимированный Splash Screen с логотипом Workmate.
  2. Экран "Валюты" с возможностью ввода суммы для обмена.
  3. Автоматическое обновление курсов валют каждую секунду с использованием метода getRates из RemoteRatesServiceImpl.
  4. Поддержка кросс-курсов с пересчетом по выбранной валюте.
  5. Ввод суммы для обмена с автоматическим пересчетом валют, доступных для покупки.
  6. Переход на экран "Обмен" с расчетом суммы для покупки и продажи валюты.
  7. Экран "Транзакции", отображающий список всех совершенных транзакций.
  8. Поддержка светлой и темной темы.

Структура и особенности кода

Проект использует паттерн MVI. Каждая функциональность оформлена отдельным пакетом (home, profile, transaction) с подпакетами data, domain и presentation по чистой архитектуре.

  • Навигация построена через Navigation Compose и типобезопасные маршруты. Состояния экранов описаны как сериализуемые sealed классы в Screens, а переходы выполняются с помощью расширения animatedTransition.
  • DI реализовано через Hilt. Модули располагаются в пакете di.
  • Все строки и ресурсы вынесены в strings.xml и обращение к ним происходит через R.string.*, что упрощает локализацию (приложение локализировано на английский и русский языки).

Скриншоты

Светлая тема

Темная тема

Используемые технологии

Технология Описание
Jetpack Compose Построение пользовательского интерфейса и навигации
Hilt Внедрение зависимостей
Kotlinx Serialization Сериализация аргументов для type‑safe навигации
Room Локальная БД для хранения информации о валюте и транзакциях

Установка

Ссылка на текущую версию Releases

Прямая ссылка на установку .zip

Прямая ссылка на установку .apk

Портфолио

Для ознакомления с другими работами автора вы можете посетить портфолио на Behance.

About

Тестовое задание для WorkMate

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages