CoinWatch — это криптовалютное приложение для Android, предоставляющее информацию о ценах на монеты, историю цен и рыночные данные в режиме реального времени.
Приложение создано с использованием новейших компонентов архитектуры Android, что позволяет создать масштабируемое, модульное и тестируемое приложение.
Получите список цен и изменений цен на основные криптовалюты в режиме реального времени.
Подробный анализ монет с помощью анимированных графиков истории цен и данных рыночной статистики.
Поиск среди тысяч криптовалют по названию или символу
Создайте персональный список любимых криптовалют
Котлин
Реактивный ранец
Модернизация
Катушка
ОкHttp
Сопрограммы
Поток
Рукоять
ViewModel
Заготовка древесины
Комната
Материальный дизайн 3
Статический анализ кода с использованием Ktlint
CoinWatch предлагает обширный набор тестов, использующий следующее:
JUnit для локальных тестов
API-интерфейсы тестирования Jetpack Compose для инструментальных тестов
Истина для утверждений
MockK для моков
Дизайн CoinWatch следует нескольким ключевым принципам:
Однонаправленный поток данных (UDF) — потоки состояний в одном направлении и события, которые изменяют поток данных в противоположном направлении.
Единый источник истины (SSOT). SSOT является владельцем данных, и только SSOT может изменять или видоизменять их.
Управляйте пользовательским интерфейсом на основе неизменяемых моделей данных. Данные приложения содержатся в постоянных моделях данных и управляют компонентами пользовательского интерфейса.
Ниже представлен общий обзор архитектуры приложения. Архитектура соответствует официальному руководству Google по архитектуре.
Вклад в проект приветствуется и очень поощряется! Для начала ознакомьтесь с правилами участия.
У вас есть идеи по улучшению приложения или запрос к разработчику?
Пожалуйста, свяжитесь с нами по электронной почте - [email protected].
Данные монеты предоставлены API CoinRanking.
Изображения пустого состояния, предоставленные unDraw
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.