Для быстрого конструирования бизнес‑приложений 💪 👀
— Totum — гибрид базы данных и электронных таблиц.
— Готовый frontend — для десктопов и мобильных устройств.
— Small-code — простое программирование короткими кодами.
— Документация и учебный курс — первая таблица через 30 мин.
— WEB, open-source — устанавливается на собственный сервер.
— Многоуровневый доступ — роли и динамические блокировки.
— API — интегрируйтесь с чем угодно.
Тотум — это набор кубиков из которых можно собрать абсолютно разные решения под нестандартные задачи.
Алексей П. Totum-разработчик |
Totum, про опыт использования ⟹ Зеркало на VK ⟹ |
Одна платформа — множество вариантов применения
Собирайте данные ⟹ Обрабатывайте ⟹ Выполняйте действия ⟹ Интегрируйте ⟹ Создавайте отчеты
Посмотрите реализованные проекты на GitHub 🙌
Вы можете приступать к реализации проекта на Totum не имея опыта разработки вообще 🏃 💨
Если вы junior
/middle
-разработчик, сисадмин, тестировщик или специалист техподдержки — Totum превращает вас в полноценную команду, которая может в кратчайшие сроки выпустить законченный корпоративный проект!
Графики на основе chart.js ⎆
Вы можете настраивать отображаемые данные и вид.
Возможны комбинированные отображения с двумя разными осями по Y.
Самое универсальное поле.
Хранит строковое значение любой длины.
При сравнениях Строки в виде чисел сравниваются с числами как числа.
Хранит целое или десятичное число до 10 знаков после запятой.
Для отображения может использовать автоматическую единицу измерения и настраиваемые разделители для тысячных и десятичных.
Имеет настраиваемое автоматическое округление вводимого значения в том числе с заданным шагом.
Выпадающие списки.
Создаются вручную или автоматически на основе другой таблицы.
Подключаются превью и секции.
Есть поиск по значениям.
Могут быть сформированы кодом по условиям.
= : selectRowListForSelect(table: 'chairs'; field: 'name'; where: 'id' != 6; order: 'id' asc; section: 'type'; preview: 'img')
Сворачивающиеся иерархические списки.
Поиск значений.
Одинарный и множественный выбор.
Настраиваемый запрет на выбор папок.
Спецвид таблицы в PRO‑версии
Классический чекбокс.
В кодах true
и false
.
Дата
или Дата + время
.
Можно выбрать в выпадающем окне или ввести вручную.
totum-code
имеет несколько инструментов для обработки дат.
Например, вычисление даты последнего дня текущего месяца:
= : dateAdd(date: $fd; days: $days; format: "Y-m-d")
days: dateFormat(date: $fd; format: "t") - 1
~fd: dateFormat(date: $#nd; format: "Y-m-01")
Кнопки, для выполнения запрограммированных действий.
Автоматическая защита от множественного нажатия.
Возможность нажать кнопку программными методами.
Большие тексты с форматированием.
Можно настроить подсветку синтаксиса и ограничить объем текста передаваемый в браузер.
Для редактирования открывается во всплывающем окне.
Данные в формате JSON.
Редактируются во всплывающем окне через jsoneditor ⎆
Данные могут быть быстро получены с любого уровня вложенной структуры:
= : #json_field[data][datasets][0][borderColor]
// Результат: blue
Возможность хранить большие объемы данных без нагрузки на отрисовку в браузере через not-load
.
Только в PRO‑версии
Один или несколько файлов.
Автоматическое добавление хэша к пути, для усложнения подбора имени.
Превью для .png
и .jpg
Доступ с учетом прав пользователя.
Адресация хранения на разные папки на HDD.
Версии файлов.
Totum задает структуру приложения, основанную на таблицах.
Поля внутри таблиц программируются totum-кодом
.
Это простой специализированный язык с большими возможностями, который создан для быстрого освоения специалистами, не имеющими предварительного опыта в разработке.
В большинстве полей коды маленькие — до 5-10 строк.
Totum в интерфейсе обеспечивает: подсветку, поиск и подстановку
{
"адресов таблиц",
"наименований полей",
"переменных"
}
автозаполнение функций и много всего остального...
Вычисляют значение аналогично формуле Excel
:
= : listSum(list: $list) + #fixed_costs
list: selectList(table: 'orders'; field: 'cost'; where: 'number' = $listNumbers)
listNumbers: selectList(table: 'orders'; field: 'number'; where: 'date' >= #first_day_months; where: 'orderStatus' = #final_status)
Следят за триггерами изменений и если они сработали, выполняют написанные в них действия:
a1=: set(table: 'table'; field: 'field_1' = "value_1"; field: 'field_2' = "value_2"; where: 'condition_field' = #condition)
a2=: recalculate(table: 'summary')
Отвечает за внешний вид полей в зависимости от набора данных:
f1=: setFormat(condition: #status = 3; block: true)
f2=: setFormat(condition: $#nu = 10; block: false)
f3=: setFormat(condition: $calc > 10; background: "tomato"; color: "white")
calc: listCount(list: $list)
list: selectList(table: $#ntn; field: 'id')
Вы сможете реализовать сложную логику, даже с начальными навыками программирования.
Разобраться поможет — учебный курс, мастерклассы и форум на GitHub ⟹
Дорабатывайте прямо в эксплуатирующемся проекте
Благодаря PHP
, ваша ошибка при разработке не приведет к обрушению всего сервера. А встроенные инструменты отладки и тестирования помогут вам вносить изменения в работающие проекты на лету.
Встроенная система логгирования и гибкие права доступа
Настраивайте разрешения на видимость
, добавление
, изменение
, удаление
, дублирование
и доступ к логам
по ролям
. Отслеживайте авторизации и действия пользователей. Всегда известно, кто совершил то или иное действие.
Автоматические транзакции и одновременный доступ
Все действия выстраиваются в цепочки: если в процессе выполнения цепочки сработала отмена или произошла ошибка — вся цепочка будет отменена.
Можно работать одновременно: если два пользователя одновременно внесли изменение в одну и ту же таблицу, то действие, сохраняемое вторым, будет автоматически перезапущено.
Печать, HTML-шаблоны, экспорт/импорт .csv
и задачи по расписанию — из коробки
Генерация .docx
, .xlsx
, .pdf
доступны в Сервисах ⟹
Открывайте таблицы с необходимой фильтрацией для показа проваливания в данные
.
Используйте шаблоны таблиц для заполнения их ситуативными данными.
Показывайте внешние ресурсы в iframe
.
Выбирайте тип показа iframe
, self
, blank
, top
.
Автоматически обновляйте родительскую таблицу при закрытии окна.
Автоматически закрывайте окно при успешном завершении выполнения действия.
Контекстное меню для всех полей.
Полное значение поля.
Автоматически генерируемая дополнительная информация для выпадающих списков.
Картинки и текст расчитываемые при показе контекстного меню.
Размещение в контекстном меню дополнительных кнопок.
Разделение полей на сворачивающиеся секции.
Распределение полей по группам.
Управление заливкой и обводкой для групп.
Динамическая подстройка ширин полей под размеры экрана и автоматическое выравнивание.
Управление точками переноса полей.
Указание относительных высот для групп.
Скрытие заголовков и обводок полей.
Встроенные нотификации.
Приоритет показа и даты активности.
Групповые действия.
Расширенные нотификации (карточки звонков, заказов, клиентов и т.д...)
Всплывающая панель ввода.
Срабатывание на enter
.
Выполнение произвольного действия.
Настраиваемое HTML-содержимое.
Автоматическая активация по триггеру.
Настройка текста кнопки подтверждения.
Множественный ввод значений.
Относительные изменения для числовых
полей.
Копирование значений в буфер.
Блокировка одновременного изменения нескольких колонок.
Сортировки по отображаемым строкам.
Сохраняемый ручной
порядок сортировки строк.
Фильтры по нескольким колонкам.
Поиск и инвертация значений в фильтрах.
Фильтрация по ручным
значениям в полях.
Используйте единую настройку адаптивности под настольный компьютер и мобильные устройства.
Вам не нужно знать CSS
/ GRID
/ FLEX
для того, чтобы сделать понятный, адаптивный интерфейс на Totum.
Огромный набор вариантов обеспечивает одна функция и несколько параметров.
Вашe решение будет выглядеть аккуратно на всех ширинах экранов.
Открытое и настраиваемое API позволяет обмениваться данными с любыми системами как на вход, так и на выход.
Обменивайтесь данными с Totum через POST
в формате JSON
.
Инициируйте обращение к стороннему серверу непосредственно из totum-кода
.
Напишите свой микросервис на totum-code
отвечающий на GET/POST
запросы.
Вы сможете написать интеграции с сайтом, банком, мессенджерами и любыми другими сервисами работающими в web.
// Вызываем Ю-кассу из Totum-code:
=: getFromScript(uri: str`"https://" + $store_id + ":" + $store_key + "@api.yookassa.ru/v3/payments"`; headers: $headers; posts: $post)
store_id: "034942"
store_key: "test_HUoYJ_cyBhB"
headers: listCreate(item: str`"Idempotence-Key:" + $idempotence`; item: "Content-Type:application/json")
idempotence: numRand(min: 1000; max: 10000)
post: jsonCreate(data: $post_row)
post_row: rowCreate(field: "amount" = $amount; field: "capture" = true; field: "confirmation" = $confirmation)
amount: rowCreate(field: "value" = #total; field: "currency" = "RUB")
confirmation: rowCreate(field: "type" = "redirect"; field: "return_url" = "https://ru.totum.online")
Подключаем Totum к Slack через n8n.io ⎆
Создаем Telegram бота и подключаем к Totum
Интеграция с amoCRM
Создавайте карточки в Totum параллельно с карточками в amo;
Переходите из карточки в amo в карточку в Totum;
Полная синхронизация статусов между amo и Totum;
Возвращайте произвольные данные из карточки Totum в amo.
Интеграция с Битрикс24
Создавайте карточки в Totum параллельно с карточками в Битрикс;
Переходите из карточки в Битрикс в карточку в Totum;
Полная синхронизация статусов между Битрикс и Totum;
Возвращайте произвольные данные из карточки Totum в Битрикс.
Разработка и эксплуатация ведутся в одной среде. Таблицы, поля и их настройки создаются и управляются мышкой.
Разработчик может моментально скрыть UI-элементы разработки, чтобы понять как решение выглядит у пользователя, либо переключиться в конкретного пользователя и выполнить действие от него.
Обучение и разработка
с нуля до работающего проекта за 2-3 месяца
Бесплатный учебный курс — это последовательные ~180 заданий по 5 минут от простого к сложному в формате how-to и комплексные мастерклассы, которые позволят вам максимально быстро приступить к разработке своего проекта!
Посмотрите стартовый Мастеркласс ⟹
Описание реального проекта с 0 от пользователя ⟹
Мы ориентируемся на тех, кто будет разрабатывать свой проект сам, но помимо этого есть партнеры 🥷, которые берут проекты на заказ!
В PRO версии доступны не только таблицы.
Используйте panel-view
, kanban
и tree-view
в тех таблицах — где вам это нужно.
Community версия Totum распространяется по MIT-лицензии, бесплатно для любого типа использования! PRO-версия бесплатна для первых 10 пользователей системы — смотрите страницу PRO ⟹
Totum — self‑hosted
. Вы можете настроить любые политики доступа к серверу, которым управляете сами.
В случае резкого успеха и масштабного роста вашей базы данных Totum-решение выдержит нагрузку.
Даже если некоторые элементы решения окажутся сконструированными для меньшей нагрузки — вы сможете их модифицировать.
Self‑hosted, live demo или консультация... Если вам нужен собственный demo для обучения и экспериментов — закажите его здесь (это бесплатно!) ⟹