Это хакатонный проект про спутники и TLE-данные.
Берётся TLE, считается положение спутников, они показываются на карте, мы даём посмотреть, когда они пролетают над точкой или регионом.
2D-режим: фильтры, список ближайших пролётов, карточка спутника и визуализация зоны видимости.
3D-режим: движение спутников, симуляция времени и визуализация орбитальной сцены.
- посмотреть спутники на плоской карте мира
- посмотреть ближайшие пролёты мимо заданной точки
- посмотреть пролёты над заданной страной
- нажать на спутник и открыть его карточку с основной информацией
- увидеть угол наклона спутника
- фильтровать спутники по стране, оператору, типу орбиты и назначению
- посмотреть статистику по отфильтрованной выборке
- настраивать скорость анимации
- сравнить две группировки спутников
- создать подписки на пролёты и уведомления по выбранной точке
- выбрать спутник
- посмотреть карточку спутника
- покрутить время
- увидеть траекторию
- поставить точку на Земле
- посчитать следующий пролёт
- посмотреть радиовидимость и покрытие
- искать пролёты над точкой
- искать пролёты над регионом
- сохранить подписки на уведомления (например о пересечении определённой точки)
- фильтровать спутники по стране, оператору, типу орбиты и назначению
- сравнить группы спутников
По умолчанию в 2D и 3D на
Пробелможно снять выделение спутника или точки.
- Python
- FastAPI
- SQLAlchemy
- PostgreSQL
- sgp4
- APScheduler
- React
- Leaflet для 2D
- Three.js / react-three-fiber для 3D
- Axios
CREATE DATABASE satmon;cd backend
cp .env.example .env
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reloadBackend поднимется на:
http://127.0.0.1:8000
curl -X POST http://127.0.0.1:8000/api/v1/tle/seedcd frontend
npm install
npm startОбычно фронт открывается на:
http://localhost:3000
- выбрать спутник
- посмотреть его карточку
- покрутить время
- увидеть траекторию
- поставить точку на Земле (И посмотреть кто будет мимо неё пролетать)
- посчитать следующий пролёт над определённой траекторией
- посмотреть радиовидимость и покрытие
- сравнить группы спутников (по нашим параметрам)
По умолчанию автоматически сгенерированная документация FastAPI доступна на http://127.0.0.1:8000/docs
GET /healthGET /api/v1/health
POST /api/v1/tle/uploadPOST /api/v1/tle/seedGET /api/v1/tlePUT /api/v1/tle/{satellite_id}
GET /api/v1/satellitesGET /api/v1/satellites/filtersGET /api/v1/satellites/positionsGET /api/v1/satellites/{satellite_id}GET /api/v1/satellites/{satellite_id}/trackGET /api/v1/satellites/{satellite_id}/visibilityGET /api/v1/satellites/{satellite_id}/coverageGET /api/v1/satellites/{satellite_id}/next-pass
POST /api/v1/analysis/passes-over-pointPOST /api/v1/analysis/passes-over-regionPOST /api/v1/analysis/compare-groups
POST /api/v1/notifications/subscriptionsGET /api/v1/notifications/subscriptions
![]() |
![]() |
![]() |








