Costruisci più velocemente. Fai tuo lo stack.
Software business senza livelli inutili.
Total.js unisce un framework Node.js veloce, componenti UI pronti per la produzione e applicazioni collaudate, così i team possono creare dashboard, portali, prodotti SaaS e strumenti interni con meno codice di integrazione e maggiore controllo.
Instradamento, azioni, REST, WebSocket, schemi, file, viste, e‑mail e controllo dell’esecuzione in un unico posto.
Campi di input, datagrid, form, grafici, dashboard, modali e interfacce pronte per la produzione.
Uno stack che puoi capire, estendere e sentire tuo
Total.js tiene vicini i pezzi importanti: backend, UI, dati, comunicazione in tempo reale e logica di business, senza spargere il prodotto in livelli non necessari.
Un backend. Una filosofia di UI.
Route, azioni, schemi, viste, binding e componenti si incastrano in modo naturale. Meno codice di raccordo, meno decisioni e un percorso più lineare dall’idea alla produzione.
Framework puro
total5 / node.jsUna struttura chiara per logica di business, API, socket, job e processi reali senza rumore di framework.
// Route, schemi, database, posta, TMS, file, job e socket
require('total5');
exports.install = function() {
ROUTE('GET /', 'view');
ROUTE('+API ? orders-query --> Orders|query');
ROUTE('+POST /api/orders/ --> Orders|create');
ROUTE('SOCKET /live/ @json <2MB', live);
ROUTE('FILE /invoice/{id}/', invoice);
ON('service', counter => counter % 5 === 0 && ACTION('Orders|sync').callback(NOOP));
};
NEWACTION('Orders|query', {
query: 'page:Number, q:String',
action: function($) {
DATA.find('orders')
.search('email', $.query.q)
.paginate($.query.page || 1, 20)
.sort('dtcreated_desc')
.callback($);
}
});
NEWACTION('Orders|create', {
input: '*email:Email,*total:Number,items:[Object]',
output: 'id:String,email:Email,total:Number,dtcreated:Date',
publish: true,
action: function($, model) {
model.dtcreated = new Date();
DATA.insert('orders', model).callback(function(err, doc) {
if (err)
return $.invalid(err);
MAIL(model.email, 'Ordine ricevuto', 'mail/order', doc, NOOP);
$.success(doc);
});
}
});
NEWACTION('Orders|sync', {
action: function($) {
// I job in background utilizzano la stessa pipeline di azioni
$.success();
}
});
function live($) {
$.autodestroy();
SUBSCRIBE('Orders|create', order => $.send(order));
$.on('message', (client, message) => ACTION('Orders|create', message, client).callback(response => client.send(response)));
}
function invoice($) {
FILESTORAGE('orders').read($.params.id, $.callback);
}
Total.run();UI con jComponents
spa.min@20Crea form, dashboard, tabelle e flussi completi con componenti pensati per vere schermate business.
<!-- Libreria UI lato client con stato con ambito e componenti -->
<script src="https://cdn.componentator.com/spa.min@20.js"></script>
<link rel="stylesheet" href="https://cdn.componentator.com/spa.min@20.css" />
<!-- UI multilingue pronta all’uso: @(Orders), @(Save order), @(Customer) -->
<ui-plugin path="orders">
<ui-component name="input" path="?.filter.q" config="placeholder:Cerca ordini;autofill:1"></ui-component>
<ui-component name="validate" path="?.form">
<button class="exec" data-exec="?/save">Salva ordine</button>
</ui-component>
<ui-component name="datagrid" path="?.orders" config="margin:0;click:?/detail">
<script type="text/plain">
[
{ name: 'email', text: 'Cliente', width: 220 },
{ name: 'total', text: 'Total', align: 2, template: "{{ total | format(2) }}" },
{ name: 'dtcreated', text: 'Creato', template: "{{ dtcreated | format('dd.MM.yyyy') }}" }
]
</script>
</ui-component>
<ui-component name="linechart" path="?.sales" config="height:180;type:curves"></ui-component>
<ui-bind path="?.online" config="text:value + ' online'"></ui-bind>
<ui-bind path="?.order" config="template">
<script type="text/html">{{ value.email }} · {{ value.total | format(2) }}</script>
</ui-bind>
</ui-plugin>
<script>
PLUGIN('orders', function(exports) {
exports.reload = function() {
exports.tapi('Orders|query', exports.model.filter, function(response) {
exports.set('?.orders', response);
});
};
exports.save = function() {
SETTER('loading/show');
exports.tapi('Orders|create ERROR @showloading', exports.model.form, function(response) {
SETTER('loading/hide');
PUSH('?.orders', response);
exports.set('?.form', {});
SETTER('message/success', 'Ordine salvato');
});
};
exports.websocket = function(message) {
PUSH('?.orders', message);
EMIT('orders/live', message);
};
});
</script>Prodotti reali, una sola base
Flow, OpenPlatform, CMS e le altre applicazioni Total.js non sono demo. Sono prodotti reali costruiti sulla stessa base che puoi utilizzare per la tua piattaforma.
Flow
Automazione, integrazioni e processi aziendali collegati ad API, servizi e AI.
OpenPlatform
Una base di portale privato con identità, applicazioni, utenti e accesso controllato.
CMS
Un sistema di gestione contenuti che può vivere da solo oppure diventare parte di una soluzione aziendale più ampia.
Code
Editor di codice Web collaborativo per lo sviluppo Total.js, eseguito direttamente sul tuo server per modifiche più rapide e controllo completo.
UI Builder
Creazione visiva di interfacce per dashboard, portali, moduli e schermate aziendali.
Todomator
Gestione delle attività per team che hanno bisogno di priorità chiare, esecuzione e focus operativo quotidiano.
Tables
Workspace no‑code per PostgreSQL per progettare tabelle, collegare dati e gestire record con viste personalizzate.
Più app
Strumenti costruiti con la stessa filosofia: pratici, diretti e pronti per il lavoro reale.
Vai online prima.
Scala con sicurezza.
Una base più veloce significa cicli di consegna più brevi, costi di manutenzione inferiori e software aziendale che può continuare a crescere senza dover ricostruire tutto.
TotalDesktop Suite
Strumenti nativi per macOS e iPadOS progettati intorno a veri flussi di lavoro Total.js: risorse, codice, monitoraggio, progetti e lavoro quotidiano.

TotalResources
Gestisci contenuti multilingue da un’app nativa: traduzione, aiuto ortografico, revisione e supporto AI per ogni testo di prodotto.

TotalCode
Un workspace nativo per Total.js Code con controllo locale e più istanze dalla stessa applicazione.

TotalMonitor
Monitora lo stato del progetto, le metriche, gli avvisi e le regole in tempo reale, così i problemi si vedono prima che diventino urgenti.

Più applicazioni
Nuovi strumenti nativi estenderanno lo stesso ecosistema per sviluppo, gestione, monitoraggio ed evoluzione del prodotto.
Esclusivamente per macOS e iPadOS, in arrivo
Il rilascio iniziale sarà focalizzato sull’ecosistema Apple. Windows e Linux arriveranno più avanti, senza una data prevista per ora.
In Total.js creiamo software che dura nel tempo.
Applicazioni su misura, dashboard, portali, prodotti SaaS e piattaforme private costruite su una base coerente invece che su complessità accidentale.
Sviluppo personalizzato
Applicazioni, dashboard, portali, strumenti interni e prodotti digitali costruiti con Total.js.
Architettura e consulenza
Decisioni tecniche, revisione della base e un piano pratico prima che il prodotto cresca troppo.
Implementazione ed evoluzione
Dalla prima versione al miglioramento continuo, con la stessa direzione tecnica.
Manutenzione e miglioramento
Ottimizzazione, refactor, nuove funzionalità ed evoluzione progressiva di piattaforme esistenti.
Trasformiamo esigenze di business in software funzionante
Progettiamo e sviluppiamo applicazioni con fondamenta tecniche chiare e un percorso concreto fino alla produzione.
Team in tutto il mondo costruiscono già con Total.js.
Vedi tutte le referenze





Raccontaci il tuo caso. Lo valuteremo con attenzione e ti risponderemo rapidamente con una risposta chiara.