Avvio Rapido
Crea un Nuovo Progetto
Sezione intitolata “Crea un Nuovo Progetto”pnpm dlx @rebasepro/cli init my-appQuesto crea la struttura di un progetto con tre pacchetti:
| Cartella | Descrizione |
|---|---|
frontend/ | SPA React — Vite + TypeScript con l’interfaccia utente di amministrazione Rebase |
backend/ | Server Node.js — Hono, PostgreSQL tramite Drizzle ORM, WebSocket |
config/ | Definizioni di collezioni TypeScript condivise da entrambi i lati |
Prerequisiti
Sezione intitolata “Prerequisiti”- Node.js 18+
- PostgreSQL — installazione locale, Docker o qualsiasi database gestito (Neon, Supabase, ecc.)
- pnpm (consigliato) o npm
Configura il tuo Ambiente
Sezione intitolata “Configura il tuo Ambiente”Dopo aver creato la struttura, modifica il file .env nella root del progetto:
# Stringa di connessione PostgreSQLDATABASE_URL=postgresql://username:password@localhost:5432/your_database
# Segreto JWT per l'autenticazione (genera una stringa casuale robusta)JWT_SECRET=change-me-to-a-random-secret
# URL Frontend per CORSVITE_API_URL=http://localhost:3001
# Opzionale: ID client Google OAuth# VITE_GOOGLE_CLIENT_ID=your-google-client-idAvvia i Server di Sviluppo
Sezione intitolata “Avvia i Server di Sviluppo”pnpm devQuesto avvia:
- Backend all’indirizzo
http://localhost:3001— API REST, autenticazione, storage, WebSocket - Frontend all’indirizzo
http://localhost:5173— Pannello di amministrazione Rebase - Hot reload per entrambi — le modifiche hanno effetto istantaneamente
Puoi anche avviarle individualmente:
pnpm dev:backend # Solo Backendpnpm dev:frontend # Solo FrontendIntrospezione di un Database Esistente (Opzionale)
Sezione intitolata “Introspezione di un Database Esistente (Opzionale)”Se ti stai connettendo a un database esistente con tabelle già presenti, puoi eseguirne l’introspezione per generare automaticamente i tuoi file di collezione TypeScript:
pnpm rebase schema introspectQuesto analizzerà le tabelle, gli enum e le relazioni del tuo database e scriverà i file di collezione corrispondenti in config/collections/.
Primo Accesso
Sezione intitolata “Primo Accesso”Quando apri http://localhost:5173, vedrai la schermata di accesso. Il primo utente a registrarsi diventa automaticamente un amministratore — questo è il flusso di bootstrap.
- Clicca su Registrati
- Inserisci la tua email e password
- Sei dentro — con accesso amministrativo completo
Definisci la Tua Prima Collezione
Sezione intitolata “Definisci la Tua Prima Collezione”Apri config/collections/ e crea un nuovo file:
import { EntityCollection } from "@rebasepro/types";
export const productsCollection: EntityCollection = { slug: "products", name: "Products", singularName: "Product", table: "products", properties: { name: { type: "string", name: "Name", validation: { required: true } }, price: { type: "number", name: "Price", validation: { required: true, min: 0 } }, description: { type: "string", name: "Description", multiline: true }, active: { type: "boolean", name: "Active", defaultValue: true }, created_at: { type: "date", name: "Created At", autoValue: "on_create" } }};Genera lo Schema del Database
Sezione intitolata “Genera lo Schema del Database”rebase schema generate # Genera lo schema Drizzle dalle tue collezionirebase db push # Invia lo schema al tuo databaseRiavvia i server di sviluppo e la tua nuova collezione Prodotti apparirà nella navigazione.
Riferimento ai Comandi del Database
Sezione intitolata “Riferimento ai Comandi del Database”| Comando | Descrizione |
|---|---|
rebase schema generate | Genera lo schema Drizzle dalle tue collezioni TypeScript |
rebase schema introspect | Genera collezioni TypeScript da un database esistente |
rebase db push | Invia le modifiche allo schema direttamente al database (solo dev) |
rebase db generate | Genera i file di migrazione SQL |
rebase db migrate | Esegui le migrazioni in sospeso |
Cosa Succede Dopo
Sezione intitolata “Cosa Succede Dopo”- Struttura del Progetto — Comprendi il codice generato
- Collezioni — Approfondimento sulla definizione dello schema
- Ambiente e Configurazione — Tutte le opzioni di configurazione
- Deployment — Distribuisci in produzione