Это старая версия документа!
Концептуальное техническое задание
Мобильное приложение «Фестивали скалолазания» предназначено для регистрации участника на фестивали и самостоятельного ввода результатов.
Должно работать на платформах Android и iOS.
Связь с бэкэндом - через https-сервисы.
Часть функционала (ввод результатов) должна быть доступна оффлайн.
Разделы
- Авторизация
- Фестивали
- Участники
- Ввод результатов
- Аренда снаряжения
- Запись на трансфер
Авторизация
Пользователь при первом запуске приложения авторизуется, указывая свою электронную почту.
Приложение отправляет введенную почту в бэкэнд и получает ответ - существует такой пользователь или нет. Если не существует (ранее он не был зарегистрирован) - ему отображается введенный адрес (для проверки правильности) и предлагается получить письмо для подтверждения регистрации; либо скорректировать почту. Если пользователь подтверждает отправку письма - приложение передает в бэкэнд команду на отправку письма с одноразовым кодом.
На следующем шаге пользователь вводит полученный в почту код в приложение. Приложение отправляет код в бэкэнд и получает ответ - верный код или нет. Если верный - авторизация пройдена, приложение получает с бэкэнда токен авторизации (строка) и сохраняет его для последующих запросов. Если код неверен - пользователю предлагается ввести код заново либо запросить повторную отправку письма.
Во всех последующих запросах приложение отправляет в бэкэнд токен авторизации. Если на запрос бэкэнд отвечает ошибкой авторизации, приложение начинает авторизацию заново.