Open-source project
totumonline/totum-mit avatar
totumonline/totum-mit

totum-mit: a self-hosted database that doubles as the interface for internal tools

Small-code database for non-programmers. Universal UI, simple-code logic, automatic actions, access rules, logging, API and more. Quickly create a complex internal apps using the database as an interface.

982 stars58 forksPHPMIT

At a glance

What is it?
Totum is a PHP and PostgreSQL platform that stores business data in tables and lets non-programmers wire logic to those tables with its own small-code language. This repository is the MIT licensed community version, while the API and some features live in the paid PRO edition.
Who is it for?
Adopt totum-mit if you build internal business tools such as CRM, stock or order management systems, want the data model and the interface to live in one place, and can accept that logic is written in totum code rather than PHP or SQL.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
No. The owners have archived the repository on GitHub, so it is read-only and no longer receives changes.
What is it written in?
Mainly PHP, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The database is the interface, not just the storage layer

Totum describes itself as a hybrid of database and spreadsheet, and the operational model follows from that. Tables, fields and their settings are created and managed with the mouse. Ready-made field elements are provided rather than hand-built: strings, numbers, checkboxes, buttons, dropdown lists, trees, dates, files, which the README places in the PRO edition, and charts.

The pitch is that you use the database as the interface. A field is not just a column, it is also the widget that renders it, the place where logic attaches, and the unit of access control. That is why the README lists production management, cadastre accounting, financial accounting, order management, stocks, CRM and equipment inventory as the kinds of application the platform is aimed at: all of them are table-and-rule systems that a spreadsheet would handle badly and a traditional web application would take a team to build.

The audience is stated plainly. Development and operation are in the same environment, and a developer can instantly hide the developer UI elements to see what the solution looks like for the user, or switch to a specific user and perform an action as that user. There is no separate production application to deploy.

That is also the trade-off. Two-level access, described as developer-users, means the people who configure the system are the same people who use it, and there is no conventional application layer to write, test and deploy.

totum code: formulas, action chains and appearance rules

Totum is written in PHP but is internally programmed with its own language called totum code. The stated consequence is that a Totum developer does not need to know SQL, because calling and writing data to the database is also managed by totum code.

The syntax is small. The README says that in most fields the codes are up to 5 to 10 lines. Codes are linked to fields and separated by action types: some calculate a value, similar to formulas in Excel, others follow changes and execute actions, and a third type is responsible for appearance depending on conditions. The example in the README shows a calculated field that sums a selected list of order costs and adds a fixed cost field, with the list selection expressed through selectList calls filtered by number, date and orderStatus.

The editor compensates for the small language with tooling. Totum provides highlighting, searching and substitution of table and field addresses, variables and functions, and autofills parameters. That substitution feature matters more than it sounds: it is what makes a rename of a field or table propagate through the logic instead of silently breaking it.

For an engineer evaluating the platform, this is the part to scrutinise. The logic of the business is written in a language that exists only inside this product, with a training course and a forum as its teaching material. The README promises a first working table in 30 minutes, which is a claim about the learning curve for the platform, not about the cost of maintaining a large existing system.

One-click install, and the caveat attached to it

The installation story is a single command aimed at Ubuntu 24.04, and the caveat is stated in the same heading:

bash
sudo curl -O https://raw.githubusercontent.com/totumonline/totum-mit/master/totum/moduls/install/totum_autoinstall.sh && sudo bash totum_autoinstall.sh

The heading labels this a 1-click native install on Ubuntu 24.04 for clean systems only. That is a meaningful restriction, not a formality. A script that runs with sudo and installs a database server, a PHP application and a configuration will conflict with an existing PostgreSQL or PHP setup on the same machine, so the intended path is a fresh VM.

The documentation site is organised by task, with an Ubuntu install page, a free-license page and a training course, and the interface is available in EN, RU, ES and DE.

One detail worth reading twice: the installer installs both the MIT and the PRO versions, and the PRO version, with no additional users and only the Admin user, works without a license. If you later add users, that arrangement changes, and the README points to a separate page describing a free PRO license for 2 additional users. So the edition you install and the edition you can use are two different questions.

The repository itself is a PHP application with composer.json and composer.lock, an http directory, a totum directory containing the platform code, a bin directory, and an UPDATES.md alongside the README.

Atomic chains and what happens when two users collide

Three concurrency behaviours are described, and they are the part that distinguishes a real application platform from a spreadsheet with a web front end.

First, transactions are atomic. Second, all actions line up in chains, and if a cancellation or an error occurs while a chain is in progress, the whole chain is cancelled. That matters for business logic: an action that moves an order status and then posts to stock has one fate, not two.

Third, parallel work is handled by automatic restart. If two users make changes to the same table at the same time, the action saved by the second one will automatically restart. The README's framing is that you should not worry about concurrent access, and this is the mechanism behind that claim: rather than locking a table or failing the second writer, the second action is re-executed after the first has been saved.

The design choice here is optimistic concurrency with automatic retry. The upside is that users are never blocked. The cost is that an action which is not idempotent, one that sends an email or calls an external system, may run twice. The README does not describe any deduplication or idempotency key, so a platform user whose logic has side effects outside the database needs to think about that before trusting the retry.

The MIT edition and where the PRO edition begins

This repository is the free community version. The README states that the Community version of Totum is distributed under an MIT licence, free for any type of use, and that this is the free version of Totum PRO.

The edition boundary is worth mapping, because the top-level feature list mixes the two. The README's own bullet list marks the API as a PRO feature, with the note that it is only in PRO. The API is described as open and customisable, exchanging data with any system for input and output, using POST in JSON format, calling a third-party server directly from totum code, and writing your own microservice in totum code responding to GET and POST requests. Files are likewise marked as a PRO element.

So if your plan involves integrating Totum with a website, a bank or a messenger, that is the paid edition, and the README mentions a free PRO license for 2 additional users.

The list of use cases in the README is worth reading as a scope statement rather than a feature list: Data, Processing, Actions, Exchange, Reports, Accesses and Logs. That is a business application platform with an audit trail, access rights and reporting, not a general web framework.

Self-hosting, the PostgreSQL base, and the copy you keep

The technical basis is stated in two lines: open source code in PHP and a PostgreSQL database, installed on your own server. The repository topics agree, listing PHP, postgres and postgresql alongside the low-code and internal-apps tags.

Three arguments for the self-hosted model are made explicitly, and they are the ones that matter for internal tools. The first is that all information stays inside the company's network: Totum is self hosted, you set up the access policies for the server you manage, and you control what can be transmitted outside that contour and what cannot. For a CRM or an accounting system this is often the deciding requirement rather than a nice-to-have.

The second is ownership. You make a full copy of all platform scripts to your own server, so you are not dependent on the availability of the developers' servers and you can modify the platform code as needed.

The third is capacity. The claim is that the solution stands up to the load under dramatic growth, that elements designed for a lower load can be modified without rewriting the whole solution, and that the underlying database allows clustering across multiple servers.

The honesty of that third claim is the part to test. It is stated without numbers or a documented clustering procedure, and the repository contains no deployment or scaling documentation, so treat it as a direction rather than a specification.

Licence, releases, and a gap between tags and commits

The licence is MIT, with the LICENSE file at the repository root, and the community edition is stated to be free for any type of use. For a company that will host its own copy of the platform scripts and modify them, that removes the licensing question entirely for the community edition. It says nothing about the PRO edition, whose terms are not described in this repository.

On activity, the numbers need care. The repository is not archived and the last push was on 2026-05-30. The most recent tagged releases are V7 at 7.17.63.0 on 2025-06-12, 6.16.62 on 2025-03-07 and 6.15.61.0 on 2025-01-15. So commits have continued for roughly a year after the last release tag, with no new tag in that time.

The versioning scheme itself is unusual. The 2025 tags carry three or four numbers, 7.17.63.0 and 6.16.62, which suggests a scheme where the major version changes infrequently, the minor version tracks a line, and the remaining digits are build counters. Whatever the intent, the practical effect for an adopter is that you cannot assume the tag you install contains the latest fixes, and the documentation site is likely to track master rather than a tag.

Two other files matter for planning. UPDATES.md sits at the root as a changelog outside the release tags, and the README points to a forum repository for issues and discussions, so that is where to look when the changelog does not explain a behaviour change.

Editorial conclusion

Adopt totum-mit if you build internal business tools such as CRM, stock or order management systems, want the data model and the interface to live in one place, and can accept that logic is written in totum code rather than PHP or SQL. Do not adopt it if you need the public API in the community edition, since the README marks the API as a PRO feature, or if your team wants to maintain the logic in a language with mainstream tooling, because totum code is proprietary to this platform and the editor tooling around it is described only on the vendor's documentation site. Verify first that the one-click installer is appropriate for your machine, since it is marked as only for clean systems on Ubuntu 24.04, that the edition you install matches what you plan to use, because the installer installs both MIT and PRO versions, and that release activity matches your expectations, since the last tagged release is V7 from 2025-06-12 while the last push was on 2026-05-30.

Frequently asked questions

How do I install Totum on Ubuntu 24.04?

Run the one-click installer command from the README, which downloads totum_autoinstall.sh and runs it with sudo. The install path is documented as only for clean systems on Ubuntu 24.04.

What is totum code and do I need to know SQL to use it?

totum code is the platform's own logic language, used instead of SQL for reading and writing data, with codes attached to fields as value calculations, action triggers or appearance rules. The README states that a Totum developer does not need to know SQL, and that most field codes run up to 5 to 10 lines.

Is the API included in the free MIT version of Totum?

No. The README marks the API as a PRO feature, with the note that it is only in PRO. The community version itself is distributed under an MIT licence, and the installer installs both the MIT and PRO versions, with PRO working without a license for the Admin user only.

How does Totum handle two users editing the same table at once?

The README states that if two users make changes to the same table at the same time, the action saved by the second one will automatically restart. Actions are also grouped into chains, where an error or cancellation during a chain cancels the whole chain.

What database and language does Totum use?

The technical basis is open source code in PHP with a PostgreSQL database, installed on your own server. The application is written in PHP but internally programmed with the totum code language.

Official sources

  1. License: MIT
  2. Project website
  3. README
  4. Releases
  5. totumonline/totum-mit on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/totumonline-totum-mit.svg)](https://hysenlabs.com/projects/totumonline-totum-mit)

Was this useful?