Skip to content

dtpstat/dtp-stat

Repository files navigation

Карта ДТП. Backend + Parser stat.gibdd.ru

👉 База знаний о проекте Карта ДТП

Backend Карты ДТП подготавливает пространственные данные для клиента и отдает их через API.

Приложение основано популярном фреймворке Django и его расширении для работы с геоданными GeoDjango. Которое в свою очередь опирается на библиотеку программ GDAL и расширение для Postgres - Postgis.

Функциональность

  • API для карты (данные о ДТП, фильтр по областям)
  • html каркас
  • Парсер открытых данных ГИБДД
  • Бот статистики
  • Стандартная админка Django для работы с данными и справочниками.

Разработка

Миграция страниц на Некст

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

Некстовсий репозиторий хранится на Гитхабе в репозитории dtpstat/website. Ветка main автоматически разворачивается по адресу https://dtp-stat-on-nextjs.netlify.app.

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

Процесс контролируется переменными окружения на стороне Джанги, их список доступен в файле dtpstat/settings.py. Общий префикс переменных — NEXTJS. К примеру, если задать NEXTJS_IFRAME_WITH_MAP=true, карта на главной странице будет браться с адреса https://dtp-stat-on-nextjs.netlify.app/iframes/map.

Адрес некстовского сайта меняется переменной NEXTJS_BASE_URL. Она пригодится во время локальной разработки.

TODO

  • Описание структуры директорий
  • Описание методов API