Задача: разработать нативное ios приложение-квиз.
все данные хранятся локально в предзаполненных файлах sqlite, на сервер ничего не посылается
интеграция Admob sdk и показ interstitial баннера в определенный момент
интеграция Firebase (Crashlytics, Analytics)
кастомный шрифт для всех элементов UI
навигация через TabBar, 3 таба:
Тест. Выбор типа теста через выпадающий список и кнопка начать тест.
Мои слова. Экран с двумя списками: слова, добавленные в избранное, и слова, в которых делали ошибки. Переключение по segmented control в тулбаре.
Словарь. Поле ввода для поискового запроса, ниже список результатов поиске по словарю.
Выпадающий список с типами теста (название, пояснение, выбран всегда только один элемент):
Выбор влияет на то, какие вопросы будут показываться в тесте на следующем шаге. По сути разные условия в sql-запросе к таблице вопросов.
Если у пользователя еще нет ошибок или ничего не добавлено в избранное, соответствующие пункты становятся неактивными и их нельзя выбрать:
По нажатию на кнопку начать тест из базы извлекаются вопросы в соответствии с выбранным типом и открывается экран теста.
1.1. Тест.
Вопросы показываются последовательно, 2 или 3 варианта ответа, при нажатии правильный/неправильный вариант окрашивается соответствующим цветом, после 1 сек задержки показывается следующий вопрос.
По клике на иконку Избранное в тулбаре можно добавить в избранное/удалить из избранного.
После ответа на все вопросы открывается экран с результатами.
1.2. Результаты теста.
В зависимости от количества правильных ответов ставится оценка и показывается список ответов.
Списки (2-й таб). Экран с двумя списками: слова, добавленные в избранное, и слова, в которых делали ошибки. Переключение по segmented control в тулбаре.
В каждом элементе иконка добавления в избранное/удаления из избранного. При клике на нее в списке избранного элемент удаляется из списка.
При свайпе элемента - удаление его из списка
Если в список пустой, показывается превьюшка:
Словарь. Поле ввода для поискового запроса, ниже список результатов поиске по словарю. LIKE% запрос к бд.
Инфо. При клике по иконке на главном экране открывается экран со статичным текстом о приложении и кнопкой, по которой открывается почтовый клиент с предзаполненным емэйлом.