Shark Develop - компания по разработке мобильных приложений для iOS и Android

Социальная сеть — Adventure and Life

социальная сеть | Android | Социальная сеть - Adventure and Life 2
социальная сеть | Android | Социальная сеть - Adventure and Life 3

Социальная сеть — Adventure and Life

,
ОПИСАНИЕ
Мобильное приложение Advent — это социальная сеть, которая помогает людям находить компанию для отдыха, интересные варианты для проведения досуга, а также познакомиться с новыми людьми и завести друзей. Мобильное приложение создано для платформ iOS и Android. Как и полагается в социальной сети, в мобильном приложении Advent мы разработали функционал: авторизация/регистрация, профиль, лента, чаты, комментарии, добавление друзей, звонки, уведомления. Также в приложение интегрированы карты.

Регистрация очень проста и понятна пользователю — необходимо лишь заполнить номер телефона и город проживания. Остальные данные профиля можно заполнить, перейдя на экран «Профиль». На этом же экране пользователь выбирает аватар, а также видит свой рейтинг в приложении и список друзей.

Каждый пользователь приложения может создать пост с предложением своего варианта досуга, или приключение, и найти компанию для отдыха. Все созданные приключения видны в ленте пользователей. В этом разделе для удобства поиска реализованы фильтры: приключения могут быть сортированы по категориям (спорт, пушетествия и т.д.). Если пользователю интересна какая-либо встреча, он может подать заявку на участие в ней. Инициатор встречи либо подтверждает участие других пользователей, либо отклоняет его.

Все мероприятия пользователя находятся на одной вкладке — «Приключения». В этом разделе приключения разделены на «Мои» (где пользователь — инициатор встречи), «Участвую» (предстоящие встречи, в которых пользователь — участник) и «Завершённые» (все завершённые приключения).

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

Пользователи могут предоставить приложению доступ к контактам, и тогда Adventure and Life отобразит тех людей из контактов пользователя, кто зарегистрированы в приложении. Их можно добавить в друзья. А тем, кто не зарегистрирован, можно отправить приглашение в приложение по СМС.

Одна из классных фишек приложения — интеграция с искусственным интеллектом ChatGPT. Теперь пользователи приложения могут попросить у искусственного интеллекта идеи приключений для любой погоды, компании и на любой вкус, или просто поболтать с ним на различные темы.

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

ПЛАТФОРМЫ
ИНСТРУМЕНТЫ

Flutter, PHP, Symfony, ChatGPT

Мобильное приложение для Управления недвижимостью

социальная сеть | Android | Мобильное приложение для Управления недвижимостью 15
социальная сеть | Android | Мобильное приложение для Управления недвижимостью 16

Мобильное приложение для Управления недвижимостью

ОПИСАНИЕ
Сотрудничая с компанией ООО «Управление Недвижимостью», мы разработали кроссплатформенное мобильное приложение, которое позволяет управлять объектами этой компании и предоставляет информацию о клиентах и объектах данной компании.

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

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

Нами реализована возможность при добавлении или редактировании объектов к каждому полю с характеристиками объекта прикрепить файлы (фотографию или документ). По каждому объекту в разделе «Эксплуатация» доступна история всех расходов по объекту, распределённых по статьям затрат.

Также нами была разработана web-панель администратора для управления пользователями. Доступ к админке есть только у пользователей с ролью «Администратор». Остальные пользователи мобильного приложения («Собственник», «Менеджер») отображаются в панели администрирования в виде таблицы. Для каждой таблицы мы реализовали функции поиска, сортировки и пагинации.
ПЛАТФОРМЫ
ИНСТРУМЕНТЫ

Flutter, Firebase, PHP, Symfony, Bootstrap

Cryptomall — криптокошелёк и P2P обменник

социальная сеть | Android | Cryptomall - криптокошелёк и P2P обменник 26
социальная сеть | Android | Cryptomall - криптокошелёк и P2P обменник 27

Cryptomall — криптокошелёк и P2P обменник

ОПИСАНИЕ

Мобильное приложение CryptoMall — это криптовалютный кошелёк и P2P обменник, предназначенный для хранения и обмена криптовалют и фиатных средств. Приложение отображает актуальные курсы обмена валют, пары для обмена, организует P2P обмены. Согласно политике НДА, проект представлен в портфолио в обезличенном виде.

Чтобы пользоваться приложением, пользователям необходимо зарегистрироваться или авторизоваться. Регистрация в приложении осуществляется через email пользователя. После регистрации необходимо пройти верификацию в целях безопасности. Авторизация возможна несколькими способами: по PIN-коду, FaceID, TouchID.

После входа в приложение, на главной странице отображается общий баланс пользователя. Общий баланс строится на суммировании всех активов пользователя и отображении их в долларовом эквиваленте (либо в выбранном эквиваленте, валюта отображения выбирается в настройках). Также можно посмотреть баланс по каждой валюте отдельно. В приложении доступны валюты: BTC, ETH, USDT (erc20 и trc20) и TRX. На этом же экране отображаются актуальные курсы валют и тренды.

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

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

В приложении реализован чат между продавцом и покупателем. А в случае проблем со сделкой к чату может подключиться менеджер. Менеджер также проводит арбитраж в случае проблем со сделками, то есть он проверяет все детали и влияет на замороженные средства в сделке.
ПЛАТФОРМЫ
ИНСТРУМЕНТЫ

Swift, Kotlin

Приложение для авиакомпании

социальная сеть | Android | Приложение для авиакомпании 35
социальная сеть | Android | Приложение для авиакомпании 36

Приложение для авиакомпании

ОПИСАНИЕ

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

Разработку мы разделили на 2 этапа: функционал для пассажиров и функционал для персонала авиакомпании.

Согласно политике НДА, проект представлен в портфолио в обезличенном виде.

Для пассажиров это поиск, бронирование и покупка билетов. Работает это по тому же принципу, что у других крупных авиакомпаний: пользователь задаёт желаемые даты и направление перелёта и получает результаты поиска.

Далее можно сравнить цены и варианты пересадок и выбрать самый оптимальный вариант авиаперелёта: прямой или с удобной пересадкой. По выбранному рейсу пользователь видит всю необходимую информацию.

Реализована возможность бронирования мест на рейс и покупки билетов не только себе, но и на других пассажиров. Чтобы приобрести билеты им, нужно добавить их как новых пользователей и заполнить их данные. Для удобства пользователей мы сделали сохранение данных о пассажирах, чтобы при последующих бронированиях не приходилось заново вводить их, а можно было просто выбрать пассажира, и данные автоматически подставлялись.

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

Ещё одной удобной опцией стала возможность вызвать такси с аэропорта до нужного пользователю адреса.

На втором этапе мы добавили новые роли пользователей: пилот, администратор, оператор.

Администраторам доступен функционал получения отчётов по билетам и транзакциям по выбранным параметрам (например, за определённый период или по определённому рейсу).

Пользователи с ролью «Пилот» с помощью приложения могут отслеживать свои рейсы (как предстоящие, так и завершённые), а также производить посадку пассажиров на борт, сканируя QR-коды билетов.

Роль «Оператор» предполагает возможность отслеживать все активные рейсы, при необходимости менять их статус на любой нужный и производить посадку пассажиров аналогично пилоту.

В целом проект является одним из самых наших интересных. Разработку мы осуществляли на технологии Flutter (кроссплатформенная разработка).

ПЛАТФОРМЫ
ИНСТРУМЕНТЫ

Flutter, RESTful API

Бесконтактный Домофон

социальная сеть | Android | Бесконтактный Домофон 44
социальная сеть | Android | Бесконтактный Домофон 45

Бесконтактный Домофон

ОПИСАНИЕ
Мобильное приложение для получения доступа в помещения, оборудованные домофоном. Используя бесконтактную технологию NFC или Bluetooth, приложение передает код доступа считывателю, тем самым предоставляя доступ.

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

В приложение можно добавить только один домофон (то есть приложение не может стать уникальным чипом от всех дверей). Для добавления домофона необходимо ввести его индивидуальный номер.

Если домофон добавлен в приложение, при запуске приложение сразу передаст код доступа считывателю домофона через NFC или Bluetooth.

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

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

Также мы реализовали функцию «без рук» — дверь открывается автоматически, когда пользователь подходит к ней на заданное расстояние. Пользователь может задать расстояние в настройках, и ключ будет срабатывать автоматически через NFC или Bluetooth, так что не придётся брать телефон в руки и подносить его к считывателю.

Идею мы считаем довольно интересной и полезной как с точки зрения пользования, так и с точки зрения реализации. В процессе разработки мы занимались различными решениями, в том числе взаимодействие с NFC и Bluetooth. И результат — можно обойтись без ключей от домофона, достаточно достать телефон и поднести его к считывателю.

ПЛАТФОРМЫ
ИНСТРУМЕНТЫ
Kotlin, SwiftUI, NFC, Bluetooth, Firebase

JBC Трекер часов

социальная сеть | Android | JBC Трекер часов 55
социальная сеть | Android | JBC Трекер часов 56

JBC Трекер часов

ОПИСАНИЕ
Ещё одна наша интересная разработка — трекер JBC. Приложение разработано специально для родителей. Оно определяет местоположение ребенка по часам, уведомляет родителей об изменении местоположения ребёнка, считает пройденные шаги, а также предоставляет возможность ограничивать контакты телефонной книги ребёнка.

JBC Watch Tracker доступно на платформах iOS и Android и функционирует с помощью взаимодействия с серверной частью, которая обеспечивает связь приложения с часами.

Основной функцией приложения является определение местоположения ребёнка и отображение его на карте в приложении. Сигнал с часов ребёнка передаётся на сервер и отображается в приложении на смартфоне родителя.

Родители могут обозначить границы на карте, и если ребёнок выйдет за эти границы, эта информация также через сервер будет передана в приложение, и родитель получит уведомление.

Нашей командой реализована также функция ограничения на контакты телефонной книги ребёнка — родитель может определить, кому может звонить его ребёнок и кто может звонить ему. Непростой задачей, с которой мы успешно справились, стало встраивание режима школьника — возможность заблокировать часы ребёнка время уроков. Как это работает: родитель в своём приложении может выставить время по каждому дню недели, когда часы ребёнка будут заблокированы, чтобы ничто не отвлекало от учёбы. Нужное время можно выставить разное на каждый день или задать на один день и применить его ко всей неделе.

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

Для удобства пользователям и расширения аудитории приложения интерфейс JBC Watch Tracker полностью локализован на русский, немецкий и английский языки.

Важно отметить, что заказчики этого приложения — жители Германии. Вся коммуникация по проекту происходила на английском, а иногда и на немецком языках.

ПЛАТФОРМЫ
ИНСТРУМЕНТЫ

Java, Swift, WebRTC, Firebase, GPS

iTopica — коммуникативный тренажер

социальная сеть | Android | iTopica — коммуникативный тренажер 66
социальная сеть | Android | iTopica — коммуникативный тренажер 67

iTopica — коммуникативный тренажер

ОПИСАНИЕ
iTopica — это коммуникативный тренажёр для улучшения навыков ведения переговоров и прокачки soft skills, которые так важны для карьеры и бизнеса. Тренировки проходят в процессе поединков с живыми соперниками. По окончанию поединка участники оценивают друг друга и могут быть оценены другими пользователями приложения.

Нашей задачей было обеспечение взаимодействия 5 частей, обеспечивающих отдельный функционал:

  • Платформа Protobrain — авторизация, хранение пользователей и записей поединков;
  • Серверная часть — хранение полных записей о поединках;
  • Мобильное приложение — iOS & Android
  • Матчинг сервер — синхронизация поединков;
  • Сервис OpenTok — реализация видеосвязи через технологию WebRTC.

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

  • Список оппонентов
  • Дуэли и список кейсов для поединков
  • Задачи на судейство

Поединки происходят посредством видеозвонка, перед которым производится поиск оппонента. В поединке участвуют 2 игрока, каждому выдаются роли (которых всего 2). Поединок происходит в 2 раунда, во втором игроки меняются ролями.

Задачи на судейство — это возможность просмотреть записи поединков других пользователей и рассудить, кто из них одержал победу.

Также нами была реализована функция «пригласи друга», которая позволяет пригласить на поединок человека, не являющегося пользователем iTopica.

ПЛАТФОРМЫ
ИНСТРУМЕНТЫ
Java, Swift, WebRTC, Protobrain

FStatus — аренда строительной техники

социальная сеть | Android | FStatus — аренда строительной техники 77
социальная сеть | Android | FStatus — аренда строительной техники 78

FStatus — аренда строительной техники

ОПИСАНИЕ

Мобильные приложения Fstatus предоставляют универсальный сервис для всех, кто связан с арендой спецтехники и поставкой строительных материалов. Тем, кто ищет спецтехнику и материалы, Fstatus поможет быстро ориентироваться в стоимости на рынке и найти наилучшее предложение абсолютно бесплатно. С помощью данного сервиса Вы можете заказать любую строительную технику или оборудование, машины для перевозки грузов, заказать материалы необходимые для проведения работ любой сложности, а также средства малой механизации и специальный инструмент. Наша компания занималась доработкой мобильных приложений для Android и iOS.

Версии для iOS и Android выполнены в нативном варианте, т.е. с сохранением всех особенностей операционных систем устройств. В оба приложения, для iOS и Android, было внесено большое количество правок и доработок, что позволило довести их до релизных версий. Приложения содержат личные кабинеты пользователей, списки тендеров, заказов, договоров и многое другое. Все списки содержат всевозможные фильтры и сортировки, что облегчает работу с ними. Также в ходе нашей работы была доработана авторизация и регистрация, в т.ч. регистрация по SMS. Различные стадии работы с заказом — их отображение, изменение, обновление.

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

Проект благоустройства городской среды

социальная сеть | Android | Проект благоустройства городской среды 85
социальная сеть | Android | Проект благоустройства городской среды 86

Проект благоустройства городской среды

ОПИСАНИЕ
«Никель2030» — это веб-сервис и одноименные приложения с функционалом, позволяющим жителям Никеля изменять свой город на виртуальной карте. Здесь они могут преобразить Никель, дополнить его новыми объектами и предложить самые смелые решения для своего города. Их идеи увидят все жители и гости Никеля. Одним кликом можно добавить детские игровые площадки, установить банкоматы, и даже расположить на берегу реки пляж!

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

Метки поделены на множество категорий, каждая категория имеет свой уникальный маркер для визуального удобства. Просматривать метки могут все посетители — при клике на метку открывается полная информация о ней: название категории, комментарий пользователя и др. Для удобства поиска доступна фильтрация.

Интернет-аптека Живика

социальная сеть | Android | Интернет-аптека Живика 93
социальная сеть | Android | Интернет-аптека Живика 94

Интернет-аптека Живика

ОПИСАНИЕ
Мобильное приложение «Живика» представляет из себя онлайн аптеку и предоставляет клиентам данной сети аптек дополнительные удобства. Так например пользователь, скачав приложение, всегда может найти ближайшую к нему аптеку, забронировать необходимые лекарства, ознакомиться с необходимой информацией о товаре. Приложение реализовано для ОС Android. Разрабатывалось нами с нуля на основе технического задания и графических макетов заказчика.
Одним из важнейших требований заказчика при реализации была работы с картами. Требовалось реализовать поиск ближайшей аптеки, показ всех аптек на карте по мере зуммирования, при этом при зуммировании точки на карте должны были объединяться или разбиваться на несколько пунктов в зависимости от масштаба карты. Для реализации работы с картой использовалось Google Maps API, основная сложность заключалась в том, что бы при масштабировании маркеров на карте отображать их в том дизайне, который хотел видеть клиент, с отображением числа пунктов аптек, которые объединяются в одну точку при удалении.
Кроме того важным аспектом являлось обеспечить удобство просмотра и выбора лекарств с учетом их многообразия и обширности информации по ним. Для этого при поиске реализован фильтр по множеству параметров, которые позволяют находить именно то, что требуется. Учитывая объем данных, список подгружается не разом, а постепенно при прокручивании списка, что позволяет избежать задержек в работе и быстро получать отклик на свои запросы. При выборе каждый конкретный элемент представлен в виде удобной карточки товара, которая включает в себя как информацию о товаре, так и фотографии, отзывы и рейтинги данного товара, оставленные пользователями.
ПЛАТФОРМЫ
ИНСТРУМЕНТЫ
Java, SQLite