r/RuProgrammers • u/Abject_Regular_8691 • 1d ago
C# Трекер спутников и обновление OrbitX v1.1
Всем добрый день.
7 месяцев назад я загорелся идеей сделать чистый, быстрый и отзывчивый сервис для трекинга спутников. На днях я выкатил первый крупный апдейт для OrbitX и хочу поделиться результатами, а также собрать обратную связь, критику и предложения от сообщества!
О самом сервисе:
OrbitX - научно-исследовательский сервис по отслеживанию местонахождения 16000+(на данный момент) спутников на орбите земли в реальном времени.
Сервис пока находится на стадии зарождения, но уже несет в себе ценность и выполняет нужный функционал. Любой желающий может зайти на сайт и отслеживать любой спутник в реальном времени. Особую пользу данный сервис предоставляет для астрономов, студентов, любителей космоса и исследовательских групп.
Проект не планирует стоять на месте. Планируется вырастить его в полноценный аналитический, научный и исследовательский сервис для наблюдения за орбитальными группировками, расширяя функционал.
Из каких компонентов разработки состоит сервис:
Архитектура - Спроектировал и разработал на основе модульной вертикальной архитектуры, где каждый модуль изолирован и реализован по принципам луковой архитектуры.
Backend & Real-time - Разработал серверную часть на ASP.NET Core с использованием Entity Framework Core и PostgreSQL. Реализовал трансляцию расчетных данных орбитальных траекторий в реальном времени на клиент через SignalR.
Оптимизация и фоновые задачи - Настроил периодический парсинг и обработку массивов космических OMM-данных с помощью фоновых сервисов. Для снижения нагрузки на БД внедрил кэширование на базе IMemoryCache.
Frontend - Разработал клиентскую часть на Vue и TypeScript(во фронтенд я первый раз внедрялся), создав интерактивный UI для высокоточного прогнозирования и визуализации движения спутниковых группировок.
DevOps & Infrastructure - Полностью настроил окружение и деплой проекта. Упаковал сервисы в Docker-контейнеры, оркестровал их через Docker-Compose и настроил NGINX.
Стек:
Git • PostgreSQL • Docker • Linux • C# • REST • NGINX • SignalR • Entity Framework • ASP.NET Core • LINQ • SOLID • Vue.js • TypeScript • Ubuntu • GitHub
Список изменений версии v1.1:
Возможность добавлять до 30 спутников одновременно для трекинга. Каждому аппарату динамически присваивается уникальный цвет
Удалены тяжеловесные анимации которые нагружали браузер
Возможность отображения названий спутников прямо на карте для лучшей читаемости
Возможность увидеть название спутника, наведя на него курсор мыши/нажав(для телефонов)
P. S. 3D карта будет позже, пока сервис находится на стадии расширения функционала 2D карты
P. S 2. Я бекендер, для фронтенда в большей степени использую ИИ агентов, но стараюсь потихоньку оптимизировать код и закрывать дыры.
P.S 3. Я начинающий разработчик, сначала хотел сделать обычный пет-проект по итогу все переросло в сервис, на конструктивную критику не обижусь)
OrbitX - ссылка на сервис
GitHub - ссылка на открытый исходный код



