Totum online
Self‑hosted low‑code база данных для самостоятельной разработки
×10 раз быстрее, ÷20 раз проще, чем разработка на полнофункциональных языках 👀
Программирование логики кодом — специальным простым кодом 🔥
Легко изучаемый и масштабируемый вместе с ростом бизнеса 🎉
Вместо целой команды проект может вести 1 специалист ✌️
MIT/PRO ⟹
RU
EN
ES
DE
Универсальный UI, логика на основе простых кодов, автоматические действия, права доступа, логгирование, API и куча всего остального 👍
Посчитайте время производства проекта на Totum воспользовавшись калькулятором ⟹

Для быстрого конструирования бизнес‑приложений 💪 👀

Totum — гибрид базы данных и электронных таблиц.

Готовый frontend — для десктопов и мобильных устройств.

Small-code — простое программирование короткими кодами.

Документация и учебный курс — первая таблица через 30 мин.

WEB, open-source — устанавливается на собственный сервер.

Многоуровневый доступ — роли и динамические блокировки.

API — интегрируйтесь с чем угодно.

Тотум — это набор кубиков из которых можно собрать абсолютно разные решения под нестандартные задачи.

Наиболее эффективно для внутренних разработок компаний — Тотум позволяет вам уложить затраты по разработке и поддержке вашего решения до величины медианной зарплаты одного тестировщика.

Алексей П. Totum-разработчик

Totum, про опыт использования ⟹

Области применения

Одна платформа — множество вариантов применения

Собирайте данные ⟹ Обрабатывайте ⟹ Выполняйте действия ⟹ Интегрируйте ⟹ Создавайте отчеты

Посмотрите реализованные проекты на GitHub 🙌

Вы можете приступать к реализации проекта на Totum не имея опыта разработки вообще 🏃 💨

Если вы junior/middle-разработчик, сисадмин, тестировщик или специалист техподдержки — Totum превращает вас в полноценную команду, которая может в кратчайшие сроки выпустить законченный корпоративный проект!

Комбинируйте готовые блоки

👉

Графики на основе chart.js ⎆

Вы можете настраивать отображаемые данные и вид.

Возможны комбинированные отображения с двумя разными осями по Y.

Или подключите вашу BI‑систему ⟹

Самое универсальное поле.

Хранит строковое значение любой длины.

При сравнениях Строки в виде чисел сравниваются с числами как числа.

Хранит целое или десятичное число до 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-кодом. Это простой язык с большими возможностями, который создан для быстрого освоения специалистами, не имеющими предварительного опыта в разработке.

Разработчику на Totum не нужно знать SQL и особенности баз данных — вызов и запись данных тоже осуществляется на 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‑интеграции

Открытое и настраиваемое 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 и прочим SaaS через 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 от пользователя ⟹

Проекты, которыми поделились пользователи ⟹

Персональная песочница на 3 месяца (бесплатно) ⟹

Мы ориентируемся на тех, кто будет разрабатывать свой проект сам, но помимо этого есть партнеры 🥷, которые берут проекты на заказ!

PRO-версия

👉

Быстрый, типотолерантный поиск

Строки автоматически добавляются, обновляются и удаляются из индекса поиска.

Возможность добавить кнопки дополнительных действий на плашку поиска.

Разбивка результатов по каталогам.

Возможность показать результат, только по выбранному каталогу.

Файлы и доступ с проверкой прав пользователя

При запросе файла будет проверен доступ пользователя к:

— таблице;

— циклу;

— видимости поля с файлами;

— конкретной строке.

Темная тема

Вручную переведены все системные цвета.

Цвета подсветки кодов модифицированы для отображения в темном режиме.

Пользовательские цвета переводятся в темный режим автоматически

— видимости поля с файлами;

— конкретной строке.

LDAP авторизация

Можно подключить как к серверу AD, так и к unix-based.

Можно подключить несколько разных доменов.

С гибкими настройкими соответствия dn и ролей.

А для сервера AD с учетом прямых и косвенных вхождений в группы.

С назначением и сохранением ролей поверх загружаемых по LDAP.

Подключение Only Office DS

Редактирование .docx и .xlsx файлов из поля Файл.

Без необходимости скачивать файл на локальный компьютер.

Совместимо с системой ферсий.

Просмотр, простое или совместное редактирование.

Создание чистого файла прям в поле Файл.

Superlang

Перевод по ключам на-лету в зависимости от настроек пользователей.

Перевод по ключам или указание перевода непосредственно в коде.

Возможность выбора языка пользователем.

Установка блокировки смены языка для пользователя.

Быстрое переключение Ключи/Языки для Создателя.

Запись версий файлов в поле Файл

Возможно настроить:

— запрет на удаление версии через;

— ролевой доступ к удалению версий;

— подключить превью документов через Сервисы;

— комбинируется с местами хранения файлов;

Двухфакторная аутентификация

Кастомный код для генерации секрета.

Кастомный код отправки секрета.

Настройка таймера переотправки.

Глобальные исключения для пользователей.

Запись неудачной авторизации по 2FA в логи.

Карточки, Канбан и Деревья

В PRO версии доступны не только таблицы.

Используйте panel-view, kanban и tree-view в тех таблицах — где вам это нужно.

Формы для сбора данных

В том числе с возможностью загружать файлы

Быстро создавайте формы из таблиц

С последующей обработкой добавленной строки

С передачей неизменяемых параметров

Посмотрите учебные видео на YouTube

Сервисы Totum PRO

То, что не получилось упаковать в основной дистрибутив

Подключение только к PRO-версии!

Генерация .xlsx, .docx или .pdf

Загрузка из .xlsx

Устанавливается на отдельный сервер.

Преимущества self‑hosted

Установка на собственный сервер

Community версия Totum распространяется по MIT-лицензии, бесплатно для любого типа использования! PRO-версия бесплатна для первых 10 пользователей системы — смотрите страницу PRO ⟹

Вся информация может находится в защищенном контуре компании

Totum — self‑hosted. Вы можете настроить любые политики доступа к серверу, которым управляете сами.

Масштабируемость

В случае резкого успеха и масштабного роста вашей базы данных Totum-решение выдержит нагрузку.

Даже если некоторые элементы решения окажутся сконструированными для меньшей нагрузки — вы сможете их модифицировать.

На старт

Self‑hosted, live demo или консультация... Если вам нужен собственный demo для обучения и экспериментов — закажите его здесь (это бесплатно!) ⟹