В приложении полностью реализована минимальная функциональность, за изначальный список тикеров взят индекс NASDAQ. В детальной информации о акции можно посмотреть график изменения цены акции за выбранный пользователем период, новости тикера, добавить в избранное. Также реализован поиск тикера по названию, в меню поиска пользователь видит популярные запросы, а также запросы, которые он делал раньше.
Запросы к API сервисов построено на Retrofit2 с использованием RxJava 3. В качестве API были выбраны такие сервисы, как:
- Finnhub (Состав индекса, Новости, Изменение цены за определенный промежуток, Курс валют)
- Marketstack (Поиск тикеров по названию)
- FinancialModeling (Получение информации о тикере, логотип тикера)
Были выбраны именно этот набор API, так как:
- Finnhub предоставляет очень много информации бесплатно, но имеет временное ограничение, подходит для точечного получения данных
- Marketstack удобный поиск, а главное выдает именно то, что хотел найти пользователь
- FinancialModeling предоставляет возможность в одном запросе к API получить сразу множество данных, что делает его очень удобным при выгрузке информации данных о составе больших индексов.
Использованные библиотеки:
- Стандартные библиотеки от Google (RecyclerView, ConstraintLayout, Material)
- Retrofit 2 (Для построения запросов к API сервисов)
- RxJava 3 (Для того чтобы сделать запросы Retrofit асинхронными)
- Room database (Для сохранения избранных акций пользователя)
- William Chart (Для построения графиков изменения цены акции)
- Picasso (Для удобной работы с изображениями)
- Shimmer (Для красивой загрузки превью акций)
- AppMetrica (Для просмотра детальной информации о устройствах и ошибках, возникающих при исполнении приложения)
- ThreeTenAbp (Для удобной работы с датами)