Необходимо сделать небольшое приложение для андроид.
Ожидания от потенциального исполнителя
1. Наличие свободного времени (ожидаемый срок 1 неделя)
2. Примеры завершенных проектов
3. Использование Android Studio (Flutter + Dart предпочтительно)
4. Опыт построения интерфейсов
5. Опыт работы с WebSocket
6. Опыт публикация в Google Play
Описание экранов
1. Главный после загрузки приложения
1.1. Кнопка идентификация пользователя [ Google OAuth ] или поле [ Phone number ] (обсуждается)
2. Экран после идентификации, если пользователь новый
2.1. Текстовое поле "Отображаемое имя" (3-16 символов)
2.2. Кнопка [ Продолжить ]
3. Экран авторизованного пользователя
3.1. Список запущенных сессий (Список, к-во элементов может быть несколько тысяч)
3.1.1. Сортировка по времени создания сессии
3.1.2. Свойства элемента
3.1.2.1. Порядковый номер (число, 1..N)
3.1.2.2. Название сессии (3-16 символов)
3.1.2.3. Счет всех участников (число, 1..N, обычно 5-7 знаков)
3.1.2.4. Количество участников (число, 1..100)
3.1.2.5. Количество законченных раундов (число, 1..N)
3.1.2.5. Время до окончания раунда (минуты, 00:00)
3.1.3. При нажатии на элемент, пользователь присоединяется к сессии
3.1.4. Элементы списка и их свойства обновляются в реальном времени (вебсокет)
3.2. Плавающая кнопка в правом нижнем углу [ Создать сессию ]
4. Экран приложения (Старт)
4.1. Текстовое поле "Название сессии (3-16 символов)"
4.2. Поле пароль "Пинкод (4 цифры)"
4.3. Максимальное количество участников, число, Селект_Список\Ползунок (2-100)
4.4. Время раунда, Селект_Список\Ползунок, (1-10 минут, шаг 30сек)
4.5. Задержка перед стартом, Опция (0-5сек)
4.6. Публичная сессия (чекбокс true\false)
4.7. Кнопка [ Start ]
5. Экран запущенной сессии
5.1. Старт раунда
5.1.1. Таймер, от 5-0сек перед стартом
5.2. Список участников сессии
5.2.1. Сортировка по количеству баллов пользователя
5.2.1. Свойства элемента
5.2.1.1. Отображаемое имя (3-16 символов)
5.2.1.2. Количество баллов, число (1-7 знаков)
5.2.2. Элементы списка и их свойства обновляются в реальном времени (вебсокет)
5.3. Активная\Тач кнопка по центру экрана
5.4. В самом верху отображаются балы пользователя, число (1-7 знаков)
5.5. Плавающая кнопка в правом нижнем углу [ Закрыть сессию ]
Коммуникация с BackEnd*
1. Используется только WebSocket
1.1. После запуска приложения создается WSS соединение
1.1.1. Реконнект после потери связи
1.2. Содержимое WSS пакета в виде JSON
* Детальное описание исполнителю
- Задавайте вопросы
- Пишите ожидаемый бюджет, срок, варианты реализации приложения
- Примеры выполненных работ