бы логически как должен выглядеть полноценный бэкенд с базой данных на Nuxt 3?
У меня нет какого-то особенного проекта. Пока хочу научиться разрабатывать небольшие сайты на Nuxt.
Видел как на Nuxt 2 люди делают бэкенд на Express и используют MongoDB с Mongoose. Также слышал, что используют Nest.
Но мне хочется начинать уже с Nuxt 3, а как подобный стек должен выглядеть на нем? У него есть свой Nitro - он используется как бэкенд?
Привет. Я использую такой стек на бекэнде: Postgresql + Hasura (graphql сервер поверх postgres) и node.js (express), а фронт делаю на Nuxt. Присмотрись к hasura и graphql - очень хорошая технология. Если пойдёшь по этому пути, погугли еще nhost. Удачи!
Спасибо! Почитаю
это, кстати, с Nuxt 3 можно интегрировать? Или это вообще все универсально и без разницы, что на фронте?
Именно что без разницы, что на фронте. Этот стек позволяет разрабатывать бекенд в разы быстрее. И хорошо горизонтально масштабироваться в случае увеличения нагрузки
Еще вопрос, если можно) Существуют ли для или для Nuxt (или для описанных вами стеков) готовые, бесплатные админки. Ну хотя бы с урезанной функциональностью? Или на JS-фреймворках все нужно писать самостоятельно, под конкретный проект?
Существуют. Хотя тут вопрос что по вашему админка. Есть strapi если вы хотите у себя хостить. Есть какой-нибудь хедлесс wordpress. Есть куча хэдлесс цмс contentful, storyblock. Скорее всего можно еще найти какие-нибудь ui либы для админок
А какой функционал должен быть у такой админки?
да, хотел бы хостить у себя
Я тут еще слабо разбираюсь, но уже понятно, что админка здесь нечто условное - совсем не то, что в коробочных CMS. Но хотя бы что-то подобное laravel voyager - чтобы можно было посты создавать.
ок, спасибо. Буду искать
Как вариант https://strapi.io/
Ок, спасибо, посмотрю.
Если позволите - последний вопрос по теме. У Hasura два варианта использования - в их облаке и на своем хостинге. В обоих случаях есть бесплатные опции. Пользовались ли вы бесплатно, и хватает ли этих возможностей?
Hasura полнофункциональна несмотря на то, где развёрнута. На вашем хостинге, или в их облаке. Она очень удобно запускается через docker-compose. В их облаке есть кое-какие дополнительные примочки, но без них спокойно можно работать.
вы имеете в виду бесплатную версию?
У Hasura нет платной версии. Она - open source. Если вы хотите организовать свой проект в их облаке, то есть бесплатный тариф и платный. Если вы разворачиваете hasura у себя - то она полнофункциональна.
Ок, спасибо! Ваши рекомендации очень помогли мне определиться с направлением.) А то я MongoDB собирался пилить.
А как в сравнении с supabase. Слышал много о ней. Не пробовали?
Единственный момент мне пока не понятен. Я запустил Hasura GraphQL в Docker на локальном компе по адресу http://localhost:8080/. Затем мучился и перебирал порты, чтобы запустить на своем хостинге и в итоге запустил. Но теперь возник вопрос - а зачем вообще нужно Hasura запускать на своем хостинге? Разве это не инструмент управления базой данных, который достаточно запускать на локальной машине и коннектиться к нужной базе?
Hasura это не совсем инструмент управления базой данных. Создатели его сделали весьма похожим на какой-нибудь mysqladmin в плане создания таблиц и управления ими... Но. Hasura строит graphql-сервер поверх базы данных, а это - практически готовое api (бекенд), к нему цепляйся разными клиентами, масштабируй, если возрастает нагрузка и т. д. То есть Hasura фактически строит твой backend. В базовых случаях почти без программирования. Если нужна кастомная бизнес-логика, используешь actions. Не знаю, понятно ли написал...
Все твои клиенты коннектятся не к базе данных напрямую, а шлют graphql-запросы через hasura
Ок, спасибо. Не все еще понятно - только начинаю изучать JS, Nuxt и т.д. Но во всяком случае добился, что консоль Hasura запускается на сервере. . Правда я пока не могу законнектиться к существующей базе PostgreSQL на сервере. Подозреваю что из-за разницы в версиях PostgreSQL. На сервере стоит последняя версия - 14.3, а Hasura запускается в Docker максимум с 12-й версией.
Не замечал такого. Hasura может работать с разными версиями postgres. Я сейчас работаю с 14.3. Надо либо docker-compose.yaml редактировать, либо смотреть как вы её в докер запускаете.
Когда я получаю docker-compose.yaml по инструкции с сайта hasura.io (wget.. или curl..) - он ставится дефолтно с прописанной 12-й версией PostgreSQL. Запускаю по этой же инструкции - "docker-compose up -d". Но при этом с существующей базой консоль не коннектится. Выдает, что "...port 5432 failed". Но консоль Hasura запускается у меня только с 12-й версией, когда я меняю в docker-compose.yaml ее на 14 - она вообще не запускается. Кстати пока не понял, а зачем запускать PostgreSQL в Докере, если она есть на сервере?
Я тут подумал, что нам от админа чата может прилететь за оффтопик... Поэтому, надо спросить у рулевых, можем ли мы тут эту тему продолжать, интересно ли это кому-то ещё. А то может стоит в личку уйти... Админы, дайте пожалуйста, обратную связь.
да, пожалуй лучше перестраховаться
Обсуждают сегодня