👉 База знаний о проекте Карта ДТП
Backend Карты ДТП подготавливает пространственные данные для клиента и отдает их через API.
Приложение основано популярном фреймворке Django и его расширении для работы с геоданными GeoDjango. Которое в свою очередь опирается на библиотеку программ GDAL и расширение для Postgres - Postgis.
- API для карты (данные о ДТП, фильтр по областям)
- html каркас
- Парсер открытых данных ГИБДД
- Бот статистики
- Стандартная админка Django для работы с данными и справочниками.
- Развертывание локальной среды
- Добавление нового API
- Добавление новых таблиц и моделей для данных
- Встроенный cli
В декабре 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
.
Она пригодится во время локальной разработки.
- Описание структуры директорий
- Описание методов API