Веб-интерфейс
исследователей Марса
Контекст
Для разработки проектов освоения Марса необходимо отслеживать и анализировать погоду на этой планете.
В вашем распоряжении - архив данных о погоде за примерно 10 лет, доступный через API https://api.maas2.apollorion.com (реальные данные миссии Curiosity)

Что нужно знать о Марсе и о данных:
  • Марсианские «сутки» — сол — длятся 24 ч 39 мин 35,244 с (на 39,6 минуты дольше земных)
  • Марсианский год (тропический, от равноденствия к равноденствию) ≈ 668,59 сол ≈ 686,97 земных суток (~687 дней, или ~1,88 земного года).
При этом нет общепринятого Марсианского календаря, солы считаются от дня отчета конкретного аппарата, который начал вести наблюдение.
В нашем случае отсчет идет с даты посадки Curiosity в кратере Гейл 6 августа 2012 года (sol = 0).

Некоторые из обозначений данных возвращаемых API Apollorion:
  • ls → solar longitude, то есть солярная долгота Марса. Это угол между текущим направлением на Солнце и положением Солнца в момент весеннего равноденствия в северном полушарии Марса (Ls = 0°)
Ls = 0° — начало марсианской весны в северном полушарии;
Ls = 90° — летнее солнцестояние (северное лето);
Ls = 180° — осеннее равноденствие;
Ls = 270° — зимнее солнцестояние.
Марсианский год разбит на 12 месяцев, каждый из которых длиной по 30° Ls — то есть на весну (0–90°), начало лета (90–180°) и т.д.
Если например Ls = 130°, то можно вычислить текущий марсианский месяц 130/30 = 4,33, то есть пятый месяц Month 5.
  • TZ_Data → «America/Port_of_Spain» - timezone - зона на Земле, по которой отсчитывается время наблюдений на Марсе. То есть когда Curiosity зафиксировал рассвет на Марсе в 05:22, это время показывалось на на Земле, в географической зоне America/Port_of_Spain.
  • min_temp / max_temp → температура воздуха
  • min_gts_temp / max_gts_temp → температура поверхности
Компоненты решения:
  • API (Appolorion, ИИ-API)
  • ИИ-модель (LLM, обработка изображений, промпт-инжиниринг)
  • Базы данных
  • UX/UI (веб интерфейс)
Инструменты - на выбор разработчика. Рекомендуемые :
Сфера:
  • Python / JavaScript (Node.js)
  • API: OpenAI / Gigachat / Yandex GPT
  • Git / GitHub
  • Космические исследования
  • ИИ-решения
Задание
1 - Организовать БД в которой сохранить все важные данные о погоде, полученные с помощью API apollorion, по доступным датам - земным и солам Марса. Из температур достаточно хранить только мин и макс значения температуры воздуха в градусах Цельсия, без температуры грунта.
Примерная структура базы данных - часть из этих данных будет прямо браться из API apollorion, часть должна рассчитываться:
  • Номер сола миссии Curiosity
  • Земная дата соответствующая этому солу
  • Значение LS соответствующее этому солу (угол солнечный долготы Марса в градусах от 0 до 360°)
  • Номер Марсианского месяца
  • Минимальная температура воздуха
  • Максимальная температура воздуха
Вы можете по жеданию добавить и дрыгие данные доступные через API apollorion.

2 - Создать простой веб-интерфейс который будет позволять:
2.а Ввести параметр - номер месяца на Марсе
2.б На основе обработки значений из базы данных выдать информацию по всем имеющимся измерениям:
- средняя температура воздуха в этом месяце
- минимальная температура воздуха за все время наблюдений
- максимальная (также воздуха).
2.с Задача со звездочкой - выполнить по возможности - вывести пользователю сгенерированную с помощью ИИ картинку Марса для первого числа указанного месяца, на время сразу после восхода Солнца на Марсе. В промпте запросить указать погоду с учетом времени года и времен суток. Отдельно запросить текст интерпретации того, как эти данные учтены на изображении, вывести этот текст как описание к картинке для пользователя.
Можете использовать любой доступный вам ИИ-инструмент, умеющий генерировать изображение и доступный через API (OpenAI, Гигачат, YandexGPT и т.п.). Вам достаточно будет бесплатного ключа разработчика api_key.

В рамках веб-интерфейса постарайтесь предусмотреть необходимые текстовые пояснения для пользователя - как интерпретировать полученные данные.

Артефакты проекта:
https://api.maas2.apollorion.com (API возвращает реальные данные миссии Curiosity)

Уровень сложности
Отправь результaт на проверку и получи фидбек от эксперта
Заполни форму ниже и отправьте ссылку на доступный репозиторий решения.

Есть вопросы по решению, нужна дополнительная консультация или фидбек от эксперта-разработчика?
Пиши нам в телеграм-канал Ясенкейс: https://t.me/+2JBtbJfoT94yMTNi
Упакуй результат в Git-портфолио:
  • Код (репозиторий GitHub / GitLab).
  • Макеты интерфейса - опционально (скриншоты, Figma).
  • Документация о решении: Что требовалось сделать (краткое резюме задания кейса); Что было сделано; Какие решения были приняты, что дополнено, додумано, усовершенствовано по сравнению с исходными требованиями.
  • С какими проблемами ты столкнулся (столкнулась) и как они были преодолены.
  • Видеопрезентация 3-5 минут (опционально).
Представители компаний подтвердили актуальность кейса и свою заинтересованность в специалистах, способных представить его решение.