Данный проект представляет собой набор трех приложений:
- Бэкенд
- Фронтенд
- Админская страница
Бэкенд представляет собой простое приложение на Node.js с использованием фреймворка Express. Для хранения данных используются файлы формата JSON.
API бэкенда состоит из двух эндпоинтов:
/api/articles
(GET) - возвращает список статей./api/template
(GET, PUT) - используется для получения и изменения шаблона Vue.
Фронтенд представляет собой приложение на Vue.js 3, собираемое с помощью Vite. В нем отображается компонент, который динамически загружает шаблон, полученный с бэкенда.
Админская страница также является приложением на Vue.js 3, собираемым с помощью Vite. На этой странице отображается предварительный просмотр динамического шаблона, а также форма для его редактирования.
Проект позволяет создать и отображать динамические компоненты Vue.js с возможностью редактирования их шаблонов и стилей через API. Каждый компонент можно встроить как на административную страницу, так и на клиентскую страницу.
- Реализован простой бэкенд на Node.js с использованием Express.
- Фронтенд собирается с помощью Vite и использует Vue.js 3.
- Компоненты Vue.js динамически загружают шаблон и стили из API.
- При отсутствии данных в API используются шаблон и стили по умолчанию.
- Реактивность компонентов сохраняется.
- Проект запускается в Docker с помощью команды
git clone
,docker compose up
.
Для того что бы поменять шаблон без использования API,
нужно перейти в папку backend/database/template/database.json
и изменить содержимое переменной: template
.