# GNSS Backend (FastAPI + WebSocket) ## Установка - Убедитесь, что установлен Python 3.13+ и Poetry. - Выполните `poetry install` (ставит зависимости и проект как пакет `gnss`). ## Запуск - `poetry run uvicorn gnss.main:app --host 0.0.0.0 --port 8000` - Тайлы ожидаются по пути `gnss/tiles/{zoom}/{x}/{y}.png` (можно положить заглушку `placeholder.png` в эту же директорию). - Полноценное API всего проекта можно изучить при переходе по адресу `localhost:8000/docs` или `localhost:8000/redoc` ## Нарезка тайлов (GDAL) - Требуется установленный `gdal2tiles` (например, пакет `gdal-bin` в apt). - Нарезка через API `POST /tiles/slice` или вызов сервиса `TileService.slice_to_tiles` (внутри backend). - Поддерживаются входы, которые понимает GDAL (GeoTIFF, JPEG, MBTiles и др.). Нарезка идёт в профиле Web Mercator (XYZ) по умолчанию. ## Фронтенд - В `frontend` лежит Tauri/React приложение для проверки бекенда (карта Leaflet, WebSocket трек, форма для запуска нарезки тайлов). - Запуск: `cd frontend && pnpm install && pnpm dev` (или `pnpm tauri dev` при установленном Rust/Tauri). Бекенд должен слушать `http://localhost:8000`. ## Ключевые зависимости - fastapi — REST и WebSocket - uvicorn[standard] — ASGI-сервер - pyserial — чтение GNSS по последовательному порту - pynmea2 — парсинг NMEA - python-dateutil — работа с временем/таймзонами