Сегодня мы запускаем Astro Developer Portal — платформу, где авторы тем могут отправлять, управлять и продвигать темы, созданные для Astro.
В Astro мы стремимся создавать решения, которые приносят пользу не только сообществу, строящему с Astro, но и тем, кто строит для Astro… решая при этом наши внутренние задачи при создании самого Astro. Одно из таких решений — новый Developer Portal, который станет будущим домом для всех community Astro-разработчиков.
Наша цель с Developer Portal — дать централизованную платформу, где авторы тем, а в будущем и создатели интеграций, получают полный контроль над управлением своими листингами в официальных каталогах Astro. Ещё одна цель портала — протестировать Astro Studio: помочь определить возможности, выявить баги рано и дать обратную связь нашей platform-команде.
Сегодня новый Astro Developer Portal выходит в прод! Загляните на portal.astro.build.
Проблемы прошлой схемы
Старый способ добавления тем в каталог Astro был очень трудоёмким и неэффективным. Создателям тем нужно было заполнить форму, что запускало ручной процесс для core-команды Astro. Изображения и контент извлекались из сообщений Discord, форматировались и интегрировались в каталог content collection тем. Обновление тем было столь же громоздким — авторам тем приходилось вручную форкать репозиторий и отправлять PR.
Очевидно, это был не самый идеальный способ. Если бы только у нас была какая-то система на базе Astro database…
Решение
Оценив проблемы и вызовы, перечислив болевые точки для авторов тем и core-команды Astro, мы набросали желаемую систему. Получился цифровой портал, где создатели тем могут загружать, обновлять и управлять темами. Мы представили, что core member вмешивается только один раз — для одобрения новой темы — и это теперь простой клик кнопки. Используя Astro Studio и Astro DB, мы смогли обработать весь процесс через Astro веб-приложение, устранив ручные шаги вроде создания PR и самостоятельного управления контентом.
Dogfooding Astro Studio
Что может быть мощнее, чем использовать инструмент, который строишь, чтобы строить инструмент, который строишь? Отличный способ выявить баги и проблемы рано и протестировать пределы инструмента. Сборка с Astro Studio началась всерьёз.
В частности, у нас было два требования к функциям, общих для многих пользователей Astro: аутентификация и хранение изображений. Есть несколько популярных вариантов, хорошо работающих с Astro-проектами, но это был первый шанс протестировать их с Astro Studio.
Для прототипа аутентификации мы сначала построили proof-of-concept на Supabase, используя OAuth с GitHub для упрощённого доступа. Однако мы увидели пользу единого решения, использующего мощь Astro Studio, и перешли на Lucia. Каковы бы ни были потребности вашего проекта в аутентификации, мы уверены, что найдёте совместимое с Astro Studio решение!
Для хранения изображений мы настроили очень простой cloud storage bucket в Google Cloud, который обрабатывает всё хранение и обработку изображений без ручного вмешательства. Этого оказалось достаточно для скриншотов и миниатюр тем, снова демонстрируя, насколько мощным может быть Astro-приложение с базой данных.
Что дальше
Впереди ещё много работы по улучшению опыта Developer Portal. Фокус остаётся на доработке платформы и учёте обратной связи пользователей. У нас есть захватывающие идеи в pipeline, но главная цель — продолжать dogfooding Astro Studio, чтобы дать лучший возможный опыт разработчикам Astro, использующим Astro Studio.
Присоединяйтесь к нам в этом путешествии — мы стремимся сделать создание и управление темами проще и приятнее для всех, в конечном счёте расширив это на интеграции и… кто знает что ещё? Небо — предел того, что можно построить с Astro и для Astro!
Увидимся в космосе, Astronauts!
