informixter / geo-service

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

geo-service

Демо сервиса доступно по адресу: http://159.69.178.233/

Пользователь не требуется

Реализованная функциональность

  • 1. Алгоритм MapMatching на основе open source решения. Учитываем среднюю скорость движения и «приклеиваем маршрут» либо к пешим тропам, либо к автодорогам. Результат - уточненные маршруты с обходом домов и корректным переходом между дорогами. Работает для любых девайсов.
  • 2. Алгоритм кластеризации на основе k-средних и косинусного сходства векторов маршрута. Позволяет определять близость текущего маршрута пользователя к его предыдущим маршрутом и в зависимости от этого менять интервал замеров координат для экономии энергии.

Основной стек технологий:

  • Jupyter Notebook, NodeJs
  • PHP 7, PostgresSql.
  • React, HTML, CSS, JavaScript, TypeScript.
  • Git, Docker.

Среда запуска

  1. развертывание сервиса производится на debian-like linux (debian 10+);
  2. требуется установленный docker-compose (инструкция установки);
  3. требуется установленный build-essential и wget

Требования

Системе требует порядка 10 GB Ram если пренебречь данным требованием запуск не получится

CPU - 2 шт
RAM > 10 GB
SSD/HDD > 15 GB

Подготовка проекта

Клонируем проект и переходим в папку.

git clone https://github.com/informixter/geo-service.git && cd geo-service

Инициализация проекта. Сборка, миграции, сиддинг в БД, скачиваем карты региона. В данном проекте установлен приволжский федеральный округ весом больше 500 MB

make init

Подготовка проекта

Внимание!

Прогрев движка маршрутов занимает примерно 10-15 минут. Это нормально для такого кол-ва данных.

Должны быть не заняты порты:

  • 80 - фронт
  • 3000 - сервис снепинга
  • 5001 - поиск маршрутов
  • 5432 - postgres
  • 8080 - API
  • 8888 - jupiter ноутбуки

Запустить систему

make run

после того как система будет готова вы увидете в CLI

===========================
          READY
===========================

Система доступна по адресу http://localhost

Остановить систему.

make stop

РАЗРАБОТЧИКИ

Туктарова Алина - Дизайн, презентация, данные

Бережнов Дмитрий - fullstack https://t.me/berezh

Попов Дмитрий - backend/devops https://t.me/informix

About


Languages

Language:PHP 79.4%Language:Jupyter Notebook 11.7%Language:Blade 3.3%Language:JavaScript 3.3%Language:HTML 1.0%Language:Python 0.8%Language:Dockerfile 0.2%Language:Makefile 0.1%Language:Shell 0.1%