Home / Engineering / Csd

Engineering · Application framework

Csd

Framework PHP 8 AGPL per applicazioni web gestionali e servizi che devono restare comprensibili, modificabili e mantenibili anche dopo anni.

Runtime

PHP 8

Impostazione

MVC pragmatico

Licenza

GNU AGPL v3

In produzione

FattureWeb · NewVoip · TinyTop

Perché esiste

Convenzioni sufficienti a ridurre il caos, senza nascondere PHP.

Csd nasce dall’evoluzione di una base CodeIgniter 3.1.0 e mantiene un’impostazione volutamente pragmatica: controller, model, librerie e viste restano leggibili e sotto il controllo dello sviluppatore.

MVC

Struttura prevedibile

Routing, controller, model e viste seguono convenzioni stabili, facili da ritrovare anche in progetti molto cresciuti.

LIB

Librerie riutilizzabili

Autenticazione, helper, componenti applicativi e funzioni comuni possono essere condivisi senza duplicare logica.

DATA

Accesso ai dati

Il framework mantiene vicino il rapporto tra codice applicativo e database, senza trasformare ogni query in una scatola nera.

UI

Web & AJAX

Rendering server-side e interazioni AJAX possono convivere nello stesso progetto senza obbligare a un frontend separato.

Flusso applicativo

Pochi livelli, responsabilità leggibili.

Csd privilegia un percorso esplicito. La richiesta attraversa componenti noti e il codice applicativo resta facile da seguire anche quando il progetto integra database, API o servizi esterni.

01 · HTTP

Request & routing

La richiesta viene instradata verso il controller responsabile del caso d’uso.

02 · APP

Controller & libraries

Il controller coordina validazione, autorizzazioni, librerie e logica applicativa.

03 · DATA

Models & database

I model gestiscono persistenza e interrogazioni mantenendo chiaro il rapporto con lo schema dati.

04 · OUT

View / AJAX / API

La risposta può diventare pagina HTML, payload AJAX o endpoint per integrazioni esterne.

Una base, prodotti diversi

La prova del framework sono le applicazioni che ci girano sopra.

Csd non è nato come esercizio teorico. È la base comune di applicazioni con esigenze molto differenti, dalla fatturazione elettronica al controllo di infrastrutture VoIP.

FattureWeb

SaaS gestionale con documenti, fatturazione elettronica, contabilità operativa, abbonamenti e API.

NewVoip

Pannello applicativo che integra database, WebSocket, monitoring, provisioning e controllo di sistemi PBX.

TinyTop

Applicazione costruita sullo stesso nucleo Csd, utile come ulteriore prova di riuso della base applicativa.

Evoluzione comune

Correzioni e componenti riutilizzabili possono essere riportati nel framework invece di restare confinati a un singolo prodotto.

Scelte deliberate

Meno magia, più controllo.

Il framework non cerca di inseguire ogni moda dello sviluppo web. L’obiettivo è mantenere applicazioni lunghe da vivere, facili da diagnosticare e modificabili senza dover ricostruire mentalmente una catena di astrazioni opache.

PHP 8

Runtime moderno, ma con un modello applicativo conservativo e leggibile.

MVC

Separazione sufficiente tra flusso, dati e presentazione senza moltiplicare i livelli.

AGPL

Codice aperto e verificabile, con una licenza coerente con l’uso in servizi di rete.

Documentazione in evoluzione

Il framework è già usato in applicazioni reali; la parte pubblica di documentazione e presentazione viene aggiornata progressivamente per rendere più semplice comprenderne struttura, convenzioni e componenti.

Framework come infrastruttura applicativa

Una base comune riduce duplicazioni e rende più prevedibile l’evoluzione.

Se vuoi approfondire Csd o capire come viene usato nei progetti Dascos, possiamo partire da uno dei casi reali costruiti sul framework.