Totum — база данных для любой автоматизации

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

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

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

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

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

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

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

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

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

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

Это нужно и эффективно, когда под ваши требования на рынке нет готовых вариантов.

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

Totum, кому подойдет и какие ресурсы потребуются ⟹
В виде текста ⎆

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

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

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

Инструмент для цифровой трансформации в любом бизнесе, особенно если:

— Вы не-программист и у вас нет разработчиков или они заняты;

— В вашем бизнесе стало слишком много эксель-табличек;

— В них уже много данных — десятки-сотни тысячи строк или уже миллионы;

— Нужна полноценная база данный с быстрым поиском и хранением множества связей;

— Нужна обработка логики и автоматических действий, и у вас не получается это сделать в табличных редакторах;

— Нужно быстрое подключение по API, которое не получается сделать в табличных редакторах;

— Нужно жесткое разделение ролей и прав доступа, чтобы не светить важные цифры;

— Нужны логи, чтобы знать, кто и что делал в системе, особенно, когда речь идет про деньги.

Посмотрите реализованные проекты — в этом разделе форума на GitHub 🙌

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

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

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

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

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

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

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

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

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

Хранит целое или десятичное число до 10 знаков после запятой.

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

Имеет настраиваемое автоматическое округление вводимого значения в том числе с заданным шагом.

Выпадающие списки.

Создаются вручную или автоматически на основе другой таблицы.

Подключаются превью и секции.

Есть поиск по значениям.

Могут быть сформированы кодом по условиям.


= : selectRowListForSelect(table: 'chairs'; field: 'name'; where: 'id' != 6; order: 'id' asc; section: 'type'; preview: 'img')
        

Сворачивающиеся иерархические списки.

Поиск значений.

Одинарный и множественный выбор.

Настраиваемый запрет на выбор папок.

Классический чекбокс.

В кодах 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")
        

Кнопки, для выполнения запрограммированных действий.

Автоматическая защита от множественного нажатия.

Возможность нажать кнопку программными методами.

Большие тексты с форматированием.

Можно настроить подсветку синтаксиса и ограничить объем текста передаваемый в браузер.

Для редактирования открывается во всплывающем окне.

Ситуативные комментарии.

Показывают кто и когда оставил заметку.

Есть подсветка непрочитанных, индивидуальная для каждого пользователя.

Только в PRO-версии

Один или несколько файлов.

Автоматическое добавление хэша к пути, для усложнения подбора имени.

Превью для .png и .jpg

+ Доступ с учетом прав пользователя.

+ Адресация хранения на разные папки на HDD.

+ Версии файлов.

Пароль в скрытом виде.

Хранится в md5.

Не логгируется при изменении.

Данные в формате JSON.

Редактируются во всплывающем окне через jsoneditor.

Данные могут быть быстро получены с любого уровня вложенной структуры:


= : #json_field[data][datasets][0][borderColor]

// Результат: blue
        

Разрабатывайте сложные продукты

Программируйте логику небольшими функциональными кодами

Totum написан на PHP, но внутри программируется собственным языком — 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')

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

Разобраться поможет — бесплатный! учебный курс, форум и техподдержка в Telegram 👌

Дорабатывайте прямо в эксплуатирующемся проекте

Благодаря PHP, ваша ошибка при разработке не приведет к обрушению всего сервера. А встроенные инструменты отладки и тестирования помогут вам вносить изменения в работающие проекты на лету.

Встроенная система логгирования и гибкие права доступа

Настраивайте разрешения на видимость, добавление, изменение, удаление, дублирование и доступ к логам по ролям. Отслеживайте авторизации и действия пользователей. Всегда известно, кто совершил то или иное действие.

Автоматические транзакции и одновременный доступ

Все действия выстраиваются в цепочки: если в процессе выполнения цепочки сработала отмена или произошла ошибка — вся цепочка будет отменена.

Можно работать одновременно: если два пользователя одновременно внесли изменение в одну и ту же таблицу, то действие, сохраняемое вторым, будет автоматически перезапущено.

Печать таблиц, печать по HTML шаблонам, экспорт/импорт в .csv из коробки

Просто не тратьте на это время и все...

Обслуживайте несколько проектов на одном сервере

Это обеспечивает консольная утилита... Бекапы, дублирование, пароли, обновления, выполнение shell-скриптов из кодов Totum!


cd ~/totum-mit && bin/totum -h
    

В документации ⎆

Используйте типовые возможности интерфейса

Открывайте таблицы с необходимой фильтрацией для показа проваливания в данные.

Используйте шаблоны таблиц для заполнения их ситуативными данными.

Показывайте внешние ресурсы в iframe.

Выбирайте тип показа iframe, self, blank, top.

Автоматически обновляйте родительскую таблицу при закрытии окна.

Автоматически закрывайте окно при успешном завершении выполнения действия.

Контекстное меню для всех полей.

Полное значение поля.

Автоматически генерируемая дополнительная информация для выпадающих списков.

Картинки и текст расчитываемые при показе контекстного меню.

Размещение в контекстном меню дополнительных кнопок.

Разделение полей на сворачивающиеся секции.

Распределение полей по группам.

Управление заливкой и обводкой для групп.

Динамическая подстройка ширин полей под размеры экрана и автоматическое выравнивание.

Управление точками переноса полей.

Указание относительных высот для групп.

Скрытие заголовков и обводок полей.

Встроенные нотификации.

Приоритет показа и даты активности.

Групповые действия.

Расширенные нотификации (карточки звонков, заказов, клиентов и т.д...)

Всплывающая панель ввода.

Срабатывание на enter.

Выполнение произвольного действия.

Настраиваемое HTML-содержимое.

Автоматическая активация по триггеру.

Настройка текста кнопки подтверждения.

Множественный ввод значений.

Относительные изменения для числовых полей.

Копирование значений в буфер.

Блокировка одновременного изменения нескольких колонок.

Сортировки по отображаемым строкам.

Сохраняемый ручной порядок сортировки строк.

Фильтры по нескольким колонкам.

Поиск и инвертация значений в фильтрах.

Фильтрация по ручным значениям в полях.

Адаптируйте под разные ширины экранов

Используйте единую настройку адаптивности под настольный компьютер и мобильные устройства.

Вам не нужно знать CSS/GRID/FLEX для того, чтобы сделать понятный, адаптивный интерфейс на Totum.

Огромный набор вариантов обеспечивает одна функция и несколько параметров.

Вашe решение будет выглядеть аккуратно на всех ширинах экранов.

Вам нужен только браузер

Разработка и эксплуатация ведутся в одной среде. Таблицы, поля и их настройки создаются и управляются мышкой.

Разработчик может моментально скрыть UI-элементы разработки, чтобы понять как решение выглядит у пользователя, либо переключиться в конкретного пользователя и выполнить действие от него.

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 в Битрикс.

Посмотреть описание интеграции ⎆

Обучение и разработка

с нуля до работающего проекта за 2-3 месяца

Бесплатный учебный курс — это последовательные ~180 заданий по 5 минут от простого к сложному в формате how-to и комплексные мастерклассы, которые позволят вам максимально быстро приступить к разработке своего проекта!

Посмотрите стартовый Мастеркласс ⟹

Описание реального проекта с 0 от пользователя ⟹

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

Учебные ресурсы:

- учебный курс ⟹

- форум;

- Cloud Demo 3 месяца бесплатно ⟹

- консультации по видео выберите подходящее вам количество часов ⟹

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

PRO-версия

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

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

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

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

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

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

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

— таблице;

— циклу;

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

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

Темная тема

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Superlang

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

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

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

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

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

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

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

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

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

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

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

Profiler

Оценка скорости работы системы и поиск медленных участков.

Запись процессов запускаемых из web-интерфейса, кронов, API.

Указание таблицы поля и строки источника действия/кода.

Запись действий, завершившихся с ошибкой.

Информация о потребленной оперативной памяти, времени исполнения скрипта итп.

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

В PRO версии доступны не только таблицы. Используйте вид панелями, kanban и деревья в тех таблицах, где вам это нужно:

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

— Доступны в PRO-версии;

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

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

— С перенаправлением на платежные системы;

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

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

Сервисы Totum

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

Вызов Chat GPT из кода Totum для задач классификации, переводов, неструктурированном извлечении данных итп.;

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

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

Подключение к любому типу установки MIT, PRO, без домена, Сloud;

Преимущества open source

Бесплатно

Community версия Totum распространяется по MIT-лицензии. Бесплатно для любого типа использования!

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

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

Также вы контролируете, что может быть передано за пределы этого контура, а что нет.

Поэтому Totum может быть использован для автоматизации работы отдельных подразделений, а особенно эффективно — в качестве пилотных прототипов!

Totum масштабируемый

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

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

Помимо этого, база данных, лежащая в основе Totum, позволяет разворачивать ее кластеры из множества серверов в том числе в крупных аттестованных облаках.

На старт

Начните свой проект в нашем облаке бесплатно, или посмотрите live-demo. Если вы хотите проконсультироваться по возможностям разработки конечных проектов — ловите слот на консультацию...