Номинируйте кейсы на Workspace Digital Awards 2026. Прием заявок до 15 декабря по льготной цене, успейте принять участие!
#Приложение под ключ

City Locator

260 
БиномТех Россия, Москва
Поделиться: 0 0 0
Клиент

binomtech

Сфера

Услуги

Регион

Россия

Мобильная платформа

iOS

Сдано

Январь 2018

Задача

Разработать мобильное приложение для отслеживания местоположения близких людей (друзей, членов семьи, детей) в реальном времени с возможностью анализа истории перемещений, мониторинга состояния устройства (уровень заряда батареи, тип подключения — 3G/Wi-Fi), а также создания и управления геозонами (полигонами) для контроля входа/выхода из определённых территорий. Особое внимание уделить точности отслеживания, масштабируемости системы и удобству интерфейса.

Решение

Приложение реализовано как нативное iOS-приложение на Swift, обеспечивающее высокую производительность и эффективное использование ресурсов устройства. Для сбора и обработки больших объёмов данных о местоположении пользователей разработан мощный backend на языке Go, который обеспечивает высокую пропускную способность и низкую задержку. В качестве базы данных выбрана Cassandra — распределённая NoSQL-система, отлично подходящая для хранения большого количества временных рядов координат и событий.

Функциональные возможности приложения:

    1. Отслеживание местоположения в реальном времени

Каждый пользователь может добавлять других участников (например, ребёнка, партнёра, родителя) в список трекеров. На карте отображается текущее положение всех выбранных устройств с указанием имени и статуса.

    2. История перемещений по периодам

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

    3. Мониторинг состояния устройства

Приложение отображает:

        ◦ Уровень заряда батареи (с цветовой индикацией: зелёный — выше 50%, жёлтый — 20–50%, красный — ниже 20%)

        ◦ Тип подключения: 3G или Wi-Fi (важно для понимания точности GPS и стабильности передачи данных)

        ◦ Время последнего получения сигнала

    4. Создание и управление геозонами (полигонами)

Пользователь может пальцем на карте провести контур вокруг нужной территории (например, школа, дом, парк). Зона сохраняется с именем (например, "Школа №1", "Домашняя зона"). Система отслеживает моменты входа и выхода из зоны и отправляет уведомления.

       Пример использования:

Родитель добавляет зону «Школа» вокруг школьного корпуса. Когда школьник приходит в школу, система отправляет уведомление: «Виктор вошёл в зону "Школа" в 08:05». При выходе — «Виктор покинул зону "Школа" в 16:20». Это помогает контролировать режим дня и безопасность ребёнка.

    5. Управление контактами

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

    6. Множественные геозоны

Можно создавать несколько зон с различными именами и настройками. Например: "Школа", "Детский сад", "Кружок по робототехнике", "Дом". Все зоны отображаются на карте с легендой.

    7. Админпанель для управления системой

Административная панель разрабатывается на вебе (React + Node.js) и позволяет:

        ◦ Мониторить общую нагрузку сервера

        ◦ Анализировать активность пользователей

        ◦ Управлять группами пользователей

        ◦ Просматривать ошибки и логи

        ◦ Настраивать уведомления и правила безопасности

        ◦ Экспортировать данные по запросу

    8. API-интерфейс

Разработан RESTful API на Go с использованием gRPC для внутренних микросервисов. API предоставляет:

        ◦ Регистрацию и авторизацию пользователей

        ◦ Отправку и получение координат

        ◦ Управление контактами и геозонами

        ◦ Получение истории перемещений

        ◦ Уведомления о входе/выходе из зон

        ◦ Интеграцию с внешними сервисами для SMS-уведомлений

Технологический стек:

    • Frontend (iOS): Swift, UIKit, MapKit, CoreLocation

    • Backend: Go (Golang), Gin или Echo для HTTP-сервера, gRPC для микросервисов

    • База данных: Apache Cassandra (для хранения координат, историй, событий)

    • Хранение данных: Redis (для кэширования активных сессий и быстрого доступа к данным)

    • Сообщения: NATS или RabbitMQ (для обработки событий и уведомлений)

    • Админпанель: React, Node.js, Express

    • API: REST + WebSockets (для push-уведомлений)

Результат

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

    • Точное отслеживание местоположения в реальном времени

    • Гибкий анализ истории перемещений с фильтрацией по времени

    • Комплексный мониторинг состояния смартфона (заряд, сеть)

    • Простое создание и управление геозонами с уведомлениями

    • Безопасное взаимодействие между пользователями через API и админпанель

    • Высокая производительность благодаря выбору технологий Go и Cassandra

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

https://binomtech.com/portfolio/18
Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

БиномТех с удовольствием обсудит вашу задачу

Оставить заявку