- Чтобы поиграть с другом, нужно ввести его 4-х значный код и пригласить его, или чтобы друг ввёл ваш код и пригласил вас (ваш код отображается сверху на главном экране)
- Также есть возможность установить имя, которое видят ваши соперники
- Если соперник сменит своё имя во время игры, вы сразу увидите его новое имя
- В приложении отображается количество подключенных пользователей (онлайн), а также количество пользователей, которые сейчас играют
- При запуске приложения происходит проверка обновлений (далее можно проверить вручную, нажав на кнопку в сайдбаре), если обнаружено обновление, приложение предложит установить его, скачивание нового приложения и проверка на обновления происходит через тот же сервер, на котором работает игра
- При включении чек-бокса "сохранять имя" в сайдбаре, приложение будет автоматически при запуске отправлять на сервер последнее сохранённое имя (на сервере имя не сохраняется, на сервере вообще ничего не хранится)
- Контейнер, который отображает подключение к серверу или показывает неуспешное соединение, является шапкой домашнего экрана (на котором подключение установлено) - при успешном подключении содержимое экрана загрузки сжимается в шапку и его контент меняется на шапку с надписью "соединение установлено", также он разжимается обратно при потере соединения и показывает контейнер с надписью "соединение потеряно" (да, ничего непонятно)
- Ввод кода друга реализован ввиде OTP экрана
- Кнопка отправки нового имени меняется плавно на другие (сперва на загрузку, затем на зеленую галочку в случае успешной смены имени или красный крестик в случае неуспешной смены имени)
- Счётчик онлайна в шапке меняется анимировано
- Крестики и нолики рисуются (анимировано) на экране
- Анимированный снек-бар показывает все ошибки прилетающие с сервера
- На сервере храниться файл с данными об актуальном приложении
- Версия приложения (актуальная)
- Изменения (по сравнению с предыдущей версией)
- Новвоведения (по сравнению с предыдущей версией)
- Также на сервере хранится сам файл-установщик (.apk) приложения
- При проверке обновления запрашивается информация файла с данными, и происходит проверка версии установленного приложения с помощью пакета package_info, если версии отличаются, показывается новая версия приложения, новвоведения и изменения в ней, и соответсвенно кнопка, при нажатии на которую, будет скачано приложение с сервера
- flutter_svg
- lottie
- flutter_bloc
- simple_animations
- equatable
- animated_text_kit
- loading_indicator
- intl
- socket_io_client
- get
- shared_preferences
- http
- package_info
- permission_handler
- flutter_downloader
- open_file
- url_launcher