Learn2Invest это биржевой симмулятор для тренировки инвестиционных навыков, с использованием API CoinCap.
- Воробьев Владимир Васильевич (Arengol (Github)/Vladimir (Имя в локальных настройках git))
- Vafeen
- Черевкова Надежда Александровна (cherevkovanadya (Github)/Nadezhda (Имя в локальных настройках git))
- Создание аккаунта
- Авторизация PIN-кодом и биометрией
- Отображение курсов валют
- Фильтры по цене, рыночной капитализации, проценту роста за 24 часа
- Поиск вылют по названию с историей поиска и подсказками
- Виртуальный инвестиционный счет
- Виртуальная покупка/продажа криптовалют
- Обзор инвестиционного портфеля
- Настройки приложения
- Локализация (ru/en)
- Обновление данных в реальном времени
- Темная тема
-
Retrofit
-
Room
-
Coroutines
-
Biometric
-
JetPack Navigation
-
Constraintlayout
-
Hilt
-
Mpandroidchart
-
Coil
-
Архитектура MVVM
Coil был выбран потому, что через Glide неудобно загружать SVG. Mpandroidchart была выбрана потому, что данная библиотека обладает большой гибкостью и является одной из самых популярных.
- API: https://docs.coincap.io/
- Иконки: https://cryptofonts.com/img/icons/{{symbol}}.svg
- Макеты экранов и карта переходов: https://www.figma.com/design/GvomF07D4aJtrFuc3uj4W9/Learn2Invest
- ТЗ: https://necessary-spot-b65.notion.site/Learn2Invest-16e7a0523381411486c2a22513fcae03
Иконки для коинов загружаются с отдельного API, используя данные из поля "symbol" в JSONах основного API.
В папке ui хранятся контроллеры, view model, и адаптеры recycler view, для всех acitvity и fragment. У каждого acitvity и fragment своя папка. В папке noui хранятся репозитории для работы с сетью и базой данных, а так же реализация криптографии, авторизации, и инъекции зависимостей. В папке utils хранятся константы и вспомогательные методы. Папка app хранит application класс.
MainActivity, MainActivityViewModel
SignUpActivity, SignUpActivityViewModel
SignInActivity, SignINActivityActions, SignInActivityViewModel
PortfolioFragment, PortfolioFragmentViewModel, PortfolioAdapter, AssetConstants
MarketReviewFragment, MarketReviewFragmentViewModel, MarketReviewAdapter
AssetReviewActivity
AssetOverviewFragment, AssetOverViewFragmentViewModel
SubHistoryFragment, SubHistoryFragmentViewModel, SubHistoryAdapter
HistoryFragment, HistoryFragmentViewModel, HistoryAdapter
ProfileFragmentViewModel, ProfileFragment