Блог

Тиндер для спортсменов. Разработка мобильного приложения от NooSoft

Сколько раз, собираясь на пробежку, не находили подходящей компании? На языке вертится число от единицы до бесконечности. Наверняка было грустно, но сейчас мы наконец расскажем о проекте, которым решили проблему, взяв в качестве прототипа софт для организации знакомств.
avatar user
Кондратенко Сергей
CIO
11 декабря 2023 г.
#Разработка
#Мобильная разработка

Проектирование и разработка мобильных приложений

Анкета пользователя в нашем исполнении изначально представлена в свёрнутом виде, как краткая сводка. При пролистывании вниз разворачивается детальная информация о спортсмене с разделами:

— Обо мне.
— Главное про меня.
— Языки.
— Фотографии.
— Мое любимое качество в людях.
— Я надеюсь, что ты…
— Недалеко от вас.
— Настройка.

Детальная информация о спортсмене
Детальная информация о спортсмене

Далее доступны два смахивания: вправо – лайк и влево – пропустить:

«Лайк» и «Пропустить»
«Лайк» и «Пропустить»

Надпись «You’re the team» появляется, если отбор взаимен. Обоюдные симпатии попадают в раздел «Ты им нравишься»: Если по истечению 24 часов, пользователи не начали диалог, выбор пропадает из раздела. Если завязалась беседа, общение переходит в раздел «Чаты».

Экраны «You’re the team» и «Чаты»
Экраны «You’re the team» и «Чаты»

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

При заполнении профиля встретите детальные вопросы и поля для обязательного заполнения – необходимо, чтобы информация ёмко отображала человека, разместившего её:

Пример профиля
Пример профиля

Одни значения придётся выбирать, другие параметризовать по шкалам:

Экраны «Предпочтения»
Экраны «Предпочтения»

После того, как контакт появится в списке друзей, вы всё равно сможете удалить или заблокировать человека, если на то будет причина:

Примеры интерфейсов
Примеры интерфейсов

Приложение не ограничивается полом, расой, национальностью: можете начать диалог с девушкой или парнем. Беседовать на двоих или привлечь к обсуждению команду в зависимости от вида чата:

1. В командном режиме может общаться значительное количество атлетов без отправки видео/фото материалов. Размер сообщения ограничен тысячей символов.

2. Диалог предусматривает двух собеседников. Сообщения без мультимедиа до 1’000 знаков.

3. Чат организатора служит для оповещения пользователей текстами до 1’500 символов. Работает как канал в Telegram без обратной связи. Фото и видео контент не предусмотрены.

Остановимся на технических требованиях проекта. Первым делом определили для каких платформ будет вестись разработка. После чего прописали пожелания к мобильному приложению. В нашем случае заказчик просил начать адаптацию экранов нижними значениями без ограничения вверх:

  • iOS – 1136х640
  • Android – 1280×720.

Клиент обозначил, что адаптация для планшетов не нужна. Важный критерий, уточняйте заранее! Занялись серверной частью, передав заказчику информацию о требованиях к мощностям, которые необходимо арендовать для поддержки разрабатываемой системы.

В нашем случае, сервер был представлен СУБД, программными средствами и технологиями, обеспечивающими хранение и обработку данных для среды UNIX-систем. Предусмотрели развёртывание в облачном сервисе.

Сформировали требования к панели администрирования для размещения контента пользователями. В данном проекте реализовали в виде web-приложения на vue.js с работоспособностью на последних версиях браузеров Chrome, Firefox, Edge, Safari, Opera.

Панель администрирования отображает список пользователей с полями: ID, номер телефона, электронная почта, страна, город, дата регистрации, тип аккаунта, статус аккаунта, активность:

Панель администрирования
Панель администрирования

Страницу «Уникальное событие» сформировали таким образом:

«Уникальное событие»
«Уникальное событие»

Возможны события по объединённому признаку, например, по желанию совершить вечернюю пробежку или сыграть матч в мини-футбол.

Разработка мобильного приложения на заказ

Задумались о производительности и надёжности, заложив требования к системе:

  1. Без завершений вследствие активности сервисов операционной системы, изменения режима энергопотребления, уровня заряда батареи, подключения или отключения от сети.
  2. Ежесуточное автоматическое резервное копирование.
  3. Индикация нагруженных вызовов.
  4. Без блокирования интерфейса пользователя при длительном выполнении других функций системы.
  5. Событийная-ориентированность: нет ожидания изменения состояния и наступления событий.

В целях обеспечения безопасности системы рекомендовали избегать следующих проблем:

  1. Использование асимметричного алгоритма с приватным ключом, известным серверу.
  2. Хранение КВД в коде (пароля администратора в открытом виде в исходном коде).
  3. Использовать в архитектуре приложения пользовательские коды.
  4. Использование самописных алгоритмов шифрования и защиты.
  5. Хранение КВД в защищённых хранилищах, но в открытом виде.
  6. Применение алгоритмов с хранением приватного ключа.
  7. Использование незащищённых локальных хранилищ.
  8. Передача КВД во внешнюю среду в открытом виде.
  9. Не ограничивать количество попыток ввода.

При первичном скачивании и регистрации пользователю предлагается три варианта создания учётной записи:

  1. Через FaceBook, потребуется доступ к email, name, second name, gender, birthday, id.
  2. По номеру мобильного телефона.
  3. Через Apple Id.

Стартовые экраны выглядят следующим образом:

Стартовые экраны
Стартовые экраны

Для отправки сообщений используем https://smsaero.ru с предустановленным тарифным планом:

smsaero.ru
smsaero.ru

Вот такое у нас получилось приложение для знакомства атлетов с выдерженной надежностью, которое уже доступно для скачивания.

Контакты

свяжитесь с нами, мы это любим!
Скачать презентацию
Оставьте заявку