Медицина и ветеринария
iOS, Android
Ноябрь 2025
Сколько раз, собираясь на пробежку, не находили подходящей компании? На языке вертится число от единицы до бесконечности. Наверняка было грустно, но сейчас мы расскажем о проекте, которым решили проблему, взяв в качестве прототипа софт для организации знакомств. Перед нами стояла задача разработать мобильное приложение, которое дает возможность спортсменам со всего мира знакомиться и объединяться на основе общих интересов и спортивных активностей.
Оценка проекта и сбор требований
На этом этапе мы обсудили концепцию приложения. Выяснили потребности пользователей, исследовали рынок и конкурентов. Сформулировали уникальное предложение приложения и его основные функциональности.
Аналитика и разработка технического задания
Разработали техническое задание, которое позволило визуализировать и структурировать интерфейс и функции приложения. Определили сроки и ресурсы проекта.
Прототипирование и дизайн-макеты
Разработали прототипы приложения, определили функциональный дизайн с учетом удобства использования и легкости навигации по приложению.
Анкета пользователя в нашем исполнении изначально представлена в свёрнутом виде, как краткая сводка. При пролистывании вниз разворачивается детальная информация о спортсмене с разделами:
— Обо мне.
— Главное про меня.
— Языки.
— Фотографии.
— Мое любимое качество в людях.
— Я надеюсь, что ты…
— Недалеко от вас.
— Настройка.
Далее доступны два смахивания: вправо – лайк и влево – пропустить. Обоюдные симпатии попадают в раздел «Ты им нравишься»: Если по истечению 24 часов, пользователи не начали диалог, выбор пропадает из раздела. Если завязалась беседа, общение переходит в раздел «Чаты».
Проектирование и архитектура системы
Определили структуру и архитектуру сервиса, взаимодействие frontend и backend компонентов, хранение данных, обработку информации и обеспечение безопасности.
Рекомендовали избегать следующих проблем в целях обеспечения безопасности системы:
- Использование асимметричного алгоритма с приватным ключом, известным серверу.
- Хранение КВД в коде (пароля администратора в открытом виде в исходном коде).
- Использовать в архитектуре приложения пользовательские коды.
- Использование самописных алгоритмов шифрования и защиты.
- Хранение КВД в защищённых хранилищах, но в открытом виде.
- Применение алгоритмов с хранением приватного ключа.
- Использование незащищённых локальных хранилищ.
- Передача КВД во внешнюю среду в открытом виде.
- Не ограничивать количество попыток ввода.
Разработка frontend части приложения
Реализовали визуальный дизайн, создали пользовательский интерфейс и функциональность приложения на основе разработанного бэкенда. Клиент обозначил, что адаптация для планшетов не нужна. Важный критерий, уточняйте заранее!
Разработка backend части приложения
Создали серверную инфраструктуру, базы данных и API для хранения и обработки данных. В нашем случае, сервер был представлен СУБД, программными средствами и технологиями, обеспечивающими хранение и обработку данных для среды UNIX-систем. Предусмотрели развёртывание в облачном сервисе.
Разработка панели администрирования
Сформировали требования к панели администрирования для размещения контента пользователями. В данном проекте реализовали в виде web-приложения на vue.js с работоспособностью на последних версиях браузеров Chrome, Firefox, Edge, Safari, Opera.
Панель администрирования отображает список пользователей с полями: ID, номер телефона, электронная почта, страна, город, дата регистрации, тип аккаунта, статус аккаунта, активность.
Тестирование и подготовка к запуску
Проверили работу приложения на наличие ошибок, неправильной функциональности и соответствие установленным требованиям. Провели функциональное, интеграционное и пользовательское тестирование.
Публикация
Опубликовали мобильного приложения на выбранных маркетплейсах - Google Play и App Store.
Обслуживание, расширение и обновление
После релиза работа над продуктом не закончилась. Приходила обратная связь от пользователей, появлялись новые идеи. Процесс стартовал заново, начиная с этапа аналитики.
Анкета пользователя в нашем исполнении изначально представлена в свёрнутом виде, как краткая сводка. При пролистывании вниз разворачивается детальная информация о спортсмене с разделами:
— Обо мне.
— Главное про меня.
— Языки.
— Фотографии.
— Мое любимое качество в людях.
— Я надеюсь, что ты…
— Недалеко от вас.
— Настройка.

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

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

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

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

Приложение не ограничивается полом, расой, национальностью: можете начать диалог с девушкой или парнем. Беседовать на двоих или привлечь к обсуждению команду в зависимости от вида чата:
1. В командном режиме может общаться значительное количество атлетов без отправки видео/фото материалов. Размер сообщения ограничен тысячей символов.
2. Диалог предусматривает двух собеседников. Сообщения без мультимедиа до 1’000 знаков.
3. Чат организатора служит для оповещения пользователей текстами до 1’500 символов. Работает как канал в Telegram без обратной связи. Фото и видео контент не предусмотрены.
Остановимся на технических требованиях проекта. Первым делом определили для каких платформ будет вестись разработка. После чего прописали пожелания к мобильному приложению. В нашем случае заказчик просил начать адаптацию экранов нижними значениями без ограничения вверх:
iOS – 1136х640
Android – 1280×720.
Клиент обозначил, что адаптация для планшетов не нужна. Важный критерий, уточняйте заранее! Занялись серверной частью, передав заказчику информацию о требованиях к мощностям, которые необходимо арендовать для поддержки разрабатываемой системы.
В нашем случае, сервер был представлен СУБД, программными средствами и технологиями, обеспечивающими хранение и обработку данных для среды UNIX-систем. Предусмотрели развёртывание в облачном сервисе.
Сформировали требования к панели администрирования для размещения контента пользователями. В данном проекте реализовали в виде web-приложения на vue.js с работоспособностью на последних версиях браузеров Chrome, Firefox, Edge, Safari, Opera.
Панель администрирования отображает список пользователей с полями: ID, номер телефона, электронная почта, страна, город, дата регистрации, тип аккаунта, статус аккаунта, активность:

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

Возможны события по объединённому признаку, например, по желанию совершить вечернюю пробежку или сыграть матч в мини-футбол.
Задумались о производительности и надёжности, заложив требования к системе:
Без завершений вследствие активности сервисов операционной системы, изменения режима энергопотребления, уровня заряда батареи, подключения или отключения от сети.
Ежесуточное автоматическое резервное копирование.
Индикация нагруженных вызовов.
Без блокирования интерфейса пользователя при длительном выполнении других функций системы.
Событийная-ориентированность: нет ожидания изменения состояния и наступления событий.
В целях обеспечения безопасности системы рекомендовали избегать следующих проблем:
Использование асимметричного алгоритма с приватным ключом, известным серверу.
Хранение КВД в коде (пароля администратора в открытом виде в исходном коде).
Использовать в архитектуре приложения пользовательские коды.
Использование самописных алгоритмов шифрования и защиты.
Хранение КВД в защищённых хранилищах, но в открытом виде.
Применение алгоритмов с хранением приватного ключа.
Использование незащищённых локальных хранилищ.
Передача КВД во внешнюю среду в открытом виде.
Не ограничивать количество попыток ввода.
При первичном скачивании и регистрации пользователю предлагается три варианта создания учётной записи:
Через FaceBook (запрещен на территории РФ), потребуется доступ к email, name, second name, gender, birthday, id.
По номеру мобильного телефона.
Через Apple Id.
Стартовые экраны выглядят следующим образом:

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

![]()
Сергей Кондратенко
Вот такое у нас получилось приложение для знакомства атлетов с выдерженной надежностью! Приложение было создано с целью упростить поиск партнеров для тренировок и соревнований и создания командных чатов для общения и взаимодействия спортсменов.
Приложение позволяет создавать как общие командные чаты, так и вести приватную беседу между двумя спортсменами.
Функции ChallengeDrive:
— Поиск партнера
— Создание командных и приватных чатов
— Набор подписок