Coderblock

Perché Supabase è il backend predefinito delle app web Coderblock

Coderblock utilizza un progetto Supabase dedicato per ogni app web standard, offrendo un vero database Postgres, autenticazione, storage, policy di sicurezza e funzioni lato server. Ecco perché questa base si adatta perfettamente a un approccio chat-first allo sviluppo software.

6 min

Creare una buona interfaccia è solo l’inizio. Nel momento in cui un’app deve gestire account, dati persistenti, file, autorizzazioni o pagamenti, serve qualcosa che vada oltre il frontend: un backend capace di supportare il comportamento di un prodotto reale.

È qui che entra in gioco Supabase, il backend predefinito per le app web standard di Coderblock. Quando descrivi un’app in linguaggio naturale, Coderblock non si limita a generare un mockup con dati temporanei. Costruisce una vera applicazione fullstack: un frontend basato su React, Vite, TypeScript e Tailwind CSS collegato a un progetto Supabase dedicato.

L’idea è semplice: la stessa richiesta che modifica l’interfaccia può modificare anche ciò che c’è dietro.

Aggiungi una registrazione? Viene configurata l’autenticazione. Aggiungi una nuova entità? Può essere aggiornata la struttura del database. Aggiungi un upload? Entra in gioco lo storage. Aggiungi una funzionalità riservata? Vengono definite anche le relative autorizzazioni.

Il risultato è un backend che cresce insieme all’app, invece di essere un pezzo separato da configurare in un secondo momento.

Un'unica base backend per l'intera app

Un prodotto web può richiedere rapidamente molti servizi backend diversi. Una piattaforma di prenotazione ha bisogno di clienti, disponibilità, prenotazioni e ruoli amministrativi. Un e-commerce deve gestire prodotti, carrelli, ordini, immagini e pagamenti. Una dashboard può dover mostrare dati diversi a seconda dell’utente autenticato.

Supabase riunisce questi componenti in un unico backend:

  • Postgres per i dati strutturati dell'applicazione
  • Supabase Auth per l'accesso tramite email e social
  • Row Level Security per le regole di accesso a livello di database
  • Storage per i file dell'applicazione e quelli caricati dagli utenti
  • Deno Edge Functions per la logica lato server

Con Coderblock, non devi assemblare questi servizi uno alla volta. Ogni app web standard riceve un proprio progetto Supabase e l’agente può intervenire sui diversi livelli dello stack quando implementa una nuova richiesta.

Per esempio, puoi scrivere:

Aggiungi una tabella delle prenotazioni con una vista amministratore.

L’agente può occuparsi dello schema del database, collegarlo all’interfaccia, configurare le autorizzazioni necessarie e aggiornare l’anteprima live. Non devi interrompere il flusso per configurare manualmente API, migrazioni o servizi backend. E soprattutto, ogni modifica rimane collegata alle precedenti. Il backend non è un insieme di componenti indipendenti: evolve insieme al prodotto.

Postgres rende reali le app generate

Postgres è il database relazionale alla base di molte delle funzionalità che un’applicazione web deve gestire: profili, prodotti, appuntamenti, abbonamenti, messaggi, prenotazioni e molto altro. Questo diventa particolarmente importante quando si lavora in linguaggio naturale.

Puoi dire:

Consenti ai clienti di salvare gli immobili preferiti.

Non devi specificare tabelle, chiavi esterne o query SQL. Stai descrivendo una funzionalità dal punto di vista del prodotto; l’agente traduce quella richiesta nella struttura dati necessaria per supportarla.

Coderblock rende inoltre visibile ciò che sta succedendo dietro la chat. Dalla scheda Backend dell’editor puoi consultare le tabelle del progetto, gli utenti autenticati, lo storage e le funzioni. Non devi conoscere ogni dettaglio dell’infrastruttura per lavorare con l’app, ma puoi comunque vedere che dietro l’interfaccia esiste un backend reale.

Questo fa una differenza importante rispetto a un semplice prototipo. I dati vengono realmente salvati e rimangono disponibili tra una sessione e l’altra. L’anteprima su <app>.coderblock.dev non mostra soltanto come potrebbe essere il prodotto: ti permette di testare i flussi di dati su cui il prodotto è costruito.

Autenticazione e autorizzazioni lavorano insieme

Il login è solo una parte dell’autenticazione. Un sistema completo deve gestire account e sessioni, proteggere le pagine riservate, collegare i dati agli utenti e impedire che una persona possa accedere a informazioni che non le appartengono.

Quando chiedi a Coderblock di “aggiungere login e account utente”, l’agente può integrare Supabase Auth nell’intera applicazione: registrazione, accesso, gestione delle sessioni, route protette e Row Level Security collegata all’utente autenticato. Puoi inoltre aggiungere il social login quando necessario. Ogni app include già una tabella dei profili e una struttura di base per la gestione dei ruoli. Questo permette all’agente di costruire più facilmente esperienze differenti per clienti, membri, collaboratori o amministratori. E non devi costruire manualmente sistemi di password o autenticazione personalizzati.

Supabase Auth gestisce l’identità. Row Level Security definisce invece quali dati ogni utente può vedere o modificare. È una distinzione fondamentale. Nascondere un pulsante nel frontend non significa impedire a un utente di accedere ai dati che stanno dietro quel pulsante. Una policy a livello di database può, per esempio, garantire che ogni cliente veda soltanto le proprie prenotazioni, mentre un amministratore autorizzato possa accedere a tutte.

Con Coderblock, queste regole possono diventare parte integrante della funzionalità richiesta, invece di essere un’attività da affrontare separatamente dopo aver costruito l’interfaccia.

File, integrazioni e logica server senza uno stack separato

Un’app reale spesso deve fare molto più che leggere e scrivere dati. Può dover gestire immagini profilo, documenti, immagini prodotto o altri file caricati dagli utenti. Può dover eseguire operazioni privilegiate o comunicare con servizi esterni senza esporre credenziali nel browser.

Supabase Storage e Deno Edge Functions coprono queste esigenze all’interno dello stesso backend dell’app. Quando un’integrazione richiede un secret, Coderblock lo gestisce attraverso un prompt dedicato e sicuro per le variabili d’ambiente. Il valore viene conservato lato server, senza essere inserito nel codice generato o mostrato nella normale conversazione.

Stripe è un esempio concreto. Puoi chiedere direttamente in chat di aggiungere un abbonamento o un checkout. Nella modalità gestita predefinita, l’agente configura Stripe per il progetto dopo aver raccolto alcune informazioni di base e la piattaforma gestisce il webhook dei pagamenti.

Se preferisci utilizzare il tuo account Stripe, puoi scegliere la modalità BYOK. In questo caso, l’agente richiede in modo sicuro la STRIPE_SECRET_KEY e configura automaticamente il webhook.

In entrambi gli scenari, Coderblock può creare prodotti, prezzi e checkout e collegare il flusso di pagamento sia al frontend sia al backend dell’app. L’obiettivo è sempre lo stesso: aggiungere una funzionalità completa, non soltanto il suo componente visivo.

Un backend che segue l’app dall’idea alla pubblicazione

Il workflow di Coderblock è pensato per essere continuo.

Descrivi un’app. La generi. La provi nell’anteprima live. La modifichi. La pubblichi.

Le modifiche compaiono su <app>.coderblock.dev in pochi secondi, quindi anche il backend deve essere in grado di evolvere insieme all’interfaccia. È questo il vantaggio di avere un backend integrato nel processo: quando cambi il prodotto, puoi cambiare anche i dati, le autorizzazioni e la logica che lo supportano, senza dover ricostruire manualmente l’infrastruttura a ogni iterazione.

Quando l’app è pronta, puoi pubblicarla con un clic su <app>.coderblock.app oppure collegare un dominio personalizzato, con SSL incluso. Supabase è il backend predefinito per le app web standard, ma Coderblock utilizza architetture diverse quando il progetto lo richiede. I progetti Enterprise Web Platform, ad esempio, utilizzano Python e FastAPI con Neon Postgres per rispondere a esigenze specifiche di piattaforma.

Per la maggior parte delle web app, però, la combinazione di Postgres, Auth, Row Level Security, Storage ed Edge Functions offre una base completa per trasformare un’idea in un prodotto realmente funzionante.

Il backend non dovrebbe essere un secondo progetto

Quando costruisci un’app attraverso una conversazione, non vuoi dover passare continuamente dall’idea al frontend, dal frontend al database e dal database all’infrastruttura. Vuoi poter dire:

“Aggiungi gli account per i clienti.”

E poi:

“Ora fai in modo che ogni cliente possa vedere soltanto le proprie prenotazioni.”

E poi:

“Aggiungi la possibilità di caricare una foto del profilo.”

Ogni richiesta dovrebbe poter evolvere naturalmente nella successiva. È questo il ruolo del backend in Coderblock: non essere un sistema separato che devi configurare dopo aver costruito l’interfaccia, ma la parte dell’app che cresce insieme alla tua idea. Il risultato è un’app fullstack che puoi generare, testare e continuare a sviluppare attraverso la stessa interfaccia conversazionale.

Inizia a costruire su Coderblock oggi