Портал разработчика Astro

Автор
Elian Van Cutsem

Сегодня мы запускаем 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!