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
для последующего запуска контейнера.