Codeforces WatchR 1.9.0 (Doyle): Аутентификация

Правка ru3, от yevhenii_kanivets, 2021-04-08 17:35:28

Привет, Codeforces! Начиная с прошлого ноября мы работали над множеством нового функционала для нашего приложения Codeforces WatchR, обновление которого наконец-то доступно App Store и Google Play.

Бизнес-логика переехала на сервер

Мы добавили серверную логику еще несколько майлстоунов назад, но использовалась она только для функционала "Новостей". Другие части приложения работали с Codeforces API напрямую из мобильных приложений, что доставляло немало хлопот и негативно влияло на стабильность работы приложения.

В частности, подтягивание обновлений рейтинга требовало множества запросов (один на пользователя) каждый раз когда вы пытались обновить список. Такой подход плохо масштабировался и был нестабилен, что негативно влияло на опыт использования приложения.

Теперь же обновление выполняется с помощью одного единственного запроса предоставленного нашим сервером. Он отрабатывает мгновенно для мобильных пользователей. Мы же в свою очередь постоянно запрашиваем обновления через Codeforces API, чтобы получить последние обновления на сервере, в результате используя намного меньшее количество запросов.

Аутентификация

Но для того чтобы сделать наших пользователей еще счастливее, мы решили добавить аутентификацию в приложения Codeforces WatchR. Это позволяет нам сохранять подписки пользователей между разными устройствами и персонализировать приложения в будущем.

На текущий момент вы можете зарегистрироваться (или войти) только с помощью почты/пароля, но позже мы добавим другие варианты (Google, Facebook, Apple и т.п.). Хотелось бы отметить, что мы не получаем доступа к вашему профилю Codeforces, а используем исключительно публичную информацию.

Проверка профиля

Но если вы хотите, чтобы мы знали кто вы, такой функционал тоже имеется. Вы можете подтвердить свой профиль Codeforces с помощью единоразового изменения публичной информации (фамилии), после чего все можно вернуть как было. Так мы будем уверены что это именно ваш профиль.

Проверенный профиль позволит нам еще больше персонализировать приложения под ваши нужды, например: - важные для вас уведомления (разборы нерешенных задач, например) - рекомендации задач в темах, которые вам нужно подтянуть - рекомендации образовательного контента - и многое другое

Если вам нужен какой-то конкретный функционал, то не стесняйтесь комментировать этот пост ;)

Исправление багов

Мы исправили доступ к веб-страницам в Android приложении, так что теперь вы можете плюсовать (и минусовать) посты и комментарии, открывать спойлеры, читать разборы, и даже отправлять решения.

В общей сложности мы закрыли 26 тасков в нашем публичном репозитории на GitHub для этого майстоуна. BOGDAN_, denmen0207, Karavaiev и alla_dubovska будут очень рады получить звездочки :)

Посвящение

Этот майлстоун посвящается великому мастеру детективных историй — Сэру Артуру Конан Дойлю. Он создал одного из самых известных персонажей своего жанра — Шерлока Холмса. Если вы еще не читали его историй, прочитайте сейчас же, и ваша жизнь никогда не станет прежней. Иногда я хочу обнулить мою память, чтобы прочитать их все еще раз.

Теперь мы ищем автора для следующего майлстоуна, чья фамилия должна начинаться с буквы "Е". Пожалуйста, пишите ваши варианты в комментариях.

Теги #codeforces, #api, #cw, #android, #ios

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
en4 Английский yevhenii_kanivets 2021-04-08 17:46:55 2 Reverted to en2
en3 Английский yevhenii_kanivets 2021-04-08 17:46:04 2 Tiny change: 'ggestions.' -> 'ggestions.\n'
ru3 Русский yevhenii_kanivets 2021-04-08 17:35:28 1 Мелкая правка: 'forces WathchR. Это п' -> 'forces WatchR. Это п'
en2 Английский yevhenii_kanivets 2021-04-08 17:14:17 2 Tiny change: 'ss-logic in moving to' -> 'ss-logic is moving to'
ru2 Русский yevhenii_kanivets 2021-04-08 17:13:40 1 Мелкая правка: 'rces WathcR. Это поз' -> 'rces WathchR. Это поз'
ru1 Русский yevhenii_kanivets 2021-04-08 11:02:37 3976 Первая редакция перевода на Русский
en1 Английский yevhenii_kanivets 2021-04-08 10:12:01 4065 Initial revision (published)