ToolJet — это фреймворк с низким кодом с открытым исходным кодом для создания и развертывания пользовательских внутренних инструментов.

Stars: 14.5k
License: AGPL-3.0
Languages: JavaScript(52.3%), TypeScript(34.1%), SCSS(11.7%)
Link: https://github.com/ToolJet/ToolJet

ToolJet может подключаться к вашим источникам данных, таким как:

  • базы данных: PostgreSQL, MongoDB, MS SQL Server, Snowflake, BigQuery и др.
  • Конечные точки API/GraphQL.
  • Инструменты SaaS: Airtable, Stripe, Google Sheets и т. д.
  • сервисы облачного хранения объектов: AWS S3, Google Cloud Storage и Minio.

После подключения источников данных ToolJet может выполнять запросы к этим источникам данных для извлечения и обновления данных. Данные, полученные из источников данных, можно визуализировать и изменять с помощью виджетов пользовательского интерфейса, таких как tables, charts, forms и т. д.

Как работает ToolJet

ToolJet имеет всего 3 фундаментальных принципа для создания приложений:

  • Подключение к источникам данных: подключение к существующим источникам данных, таким как PostgreSQL, MySQL, Firestore, Stripe, Google Sheets, конечные точки API и т. д.
  • Создание запросов: ToolJet поставляется с построителями запросов для всех поддерживаемых источников данных. ToolJet также поддерживает использование пользовательского кода JavaScript для преобразования результатов запроса.
  • Настройка виджетов. Виджеты — это компоненты пользовательского интерфейса, которые можно редактировать с помощью визуального конструктора приложений ToolJet (например, таблицы, диаграммы, формы и т. д.). Виджеты имеют такие события, как on click, on row selected, on page changed и т. д. У каждого виджета пользовательского интерфейса есть темная версия.

ToolJet связывает вместе источники данных, запросы и виджеты для преобразования бизнес-логики в настраиваемые приложения.

Функции

  • Визуальный конструктор приложений: более 40 встроенных адаптивных виджетов, таких как таблицы, диаграммы, списки, формы, индикаторы выполнения и многое другое.
  • 40+ источников данных: подключение к базам данных, облачным хранилищам и API.
  • Настольные и мобильные устройства: ширину макета можно настроить для поддержки разных экранов.
  • Собственный хост: поддерживает Docker, Kubernetes, Heroku, AWS EC2, Google Cloud Run и многое другое.
  • Совместная работа: добавляйте комментарии в любом месте холста и отмечайте членов своей команды.
  • Расширение с помощью подключаемых модулей: используйте инструмент командной строки, чтобы легко загружать новые коннекторы.
  • Контроль версий: каждое приложение имеет разные версии с соответствующим циклом выпуска.
  • Запуск кода JS: возможность пользовательских фрагментов кода JavaScript.
  • Тщательный контроль доступа на уровне организации и приложения.
  • Мало кода: пишите код JS практически в любом месте конструктора. Например, для свойства цвета текста можно установить значение status === 'success' ? 'green' : 'red'.
  • Редакторы запросов без кода: для всех поддерживаемых источников данных.
  • Объединить и преобразовать данные:преобразовать результаты запроса, используя только код JavaScript.
  • Безопасность.Все учетные данные надежно зашифрованы с использованием aes-256-gcm.
  • Не сохраняет данные:ToolJet действует только как прокси и не хранит никаких данных.
  • Система единого входа:поддерживает несколько поставщиков системы единого входа.

Быстрый старт

Вы можете запустить приведенную ниже команду, чтобы сразу запустить ToolJet.

docker run \
  --name tooljet \
  --restart unless-stopped \
  -p 3000:3000 \
  -v tooljet_data:/var/lib/postgresql/13/main \
  tooljet/try:latest

Информация о настройке

  • Запускает сервер ToolJet на порту 3000 на вашем компьютере.
  • Внутри контейнера уже настроен Postgres. Все данные будут доступны в томе докера tooljet_data.
  • Учетные данные пользователя по умолчанию для входа в систему (электронная почта: [email protected], пароль: password).
  • Вы можете использовать флаг --env или --env-file для тестирования различных настраиваемых окружений.
  • Используйте docker stop tooljet для остановки контейнера и docker start tooljet для последующего запуска контейнера.

Если вам нравится то, что вы читаете, подумайте о том, чтобы присоединиться к Medium и прочитать еще много статей. Часть вашего гонорара идет на поддержку таких авторов, как я. Нажмите здесь, чтобы присоединиться.