← Tutte le idee Strumenti online

Nocodable Components

Pezzi di interfaccia già pronti da copiare dentro le app fatte con Bubble

Incasso mensile: 788 USD (fonte indicata nella scheda)

Cosa fa

Una libreria di oltre 450 componenti grafici (menu, schede, moduli) per chi costruisce app con Bubble: si scelgono e si incollano nel proprio progetto tramite un'estensione di Chrome.

Come guadagna

Abbonamento, con circa 110 abbonati.

Rendilo tuo

  • La stessa idea per gli strumenti che crescono adesso: componenti e modelli pronti per Lovable o Bolt.
  • Modelli di pagine complete in italiano (prenotazioni, listino, contatti) per attività locali.

Le frasi da scrivere all'AI

1. Base del sito e grafica

Crea un'app web in italiano chiamata "Pezzi Pronti": una libreria di componenti grafici pronti (menu, card, prezzi, moduli, sezioni di pagina) da copiare in progetti React e Tailwind, anche quelli creati con Lovable e Bolt. Usa React, Vite, TypeScript e Tailwind CSS.

Pagine da creare:
1. Pagina iniziale con le categorie e i componenti più usati
2. Catalogo con filtri e anteprima dal vivo di ogni componente
3. Scheda del componente: anteprima chiara/scura, telefono/computer, codice da copiare, frase per l'AI
4. Registrazione e Pro
5. Pannello amministratori per caricare componenti

Stile: da strumento per sviluppatori: sfondo bianco, nero #09090B, accento verde lime #84CC16, carattere "Geist" o "Inter", anteprime dentro cornici con interruttore chiaro/scuro. Nessuna immagine generica di stock.

Tutto deve funzionare perfettamente da telefono. Tutti i testi in italiano, chiari e senza parole tecniche.

2. Database, account e sicurezza

Collega il progetto a Supabase e attiva la registrazione con email e password.

Crea queste tabelle:
- "componenti": nome, categoria, anteprima, codice, frase per l'AI, gratuito o Pro

Regole di sicurezza obbligatorie:
- tutti vedono nomi e anteprime
- il codice dei componenti Pro lo leggono solo gli utenti Pro: lo decide il database
- solo gli amministratori aggiungono componenti

Usa esattamente il codice SQL che trovi nei "Dettagli tecnici" di questa scheda: eseguilo nel SQL Editor di Supabase prima di continuare, poi collega le pagine alle tabelle.

3. Catalogo e copia

Crea il catalogo per categorie (navigazione, sezioni iniziali, prezzi, testimonianze, moduli, tabelle, pannelli, footer) con ricerca. Ogni componente ha un'anteprima dal vivo in un iframe, con interruttori chiaro/scuro e telefono/computer.

Nella scheda del componente due schede da copiare con un clic: "Codice" (React + Tailwind, accessibile, senza librerie esterne) e "Frase per Lovable/Bolt" (descrizione precisa per farlo ricreare all'AI nel proprio progetto).

Il codice dei componenti Pro non arriva mai al browser di chi non è Pro: lo blocca una regola del database (codice nei Dettagli tecnici).

4. Licenza e Pro

Pagina della licenza chiara: i componenti si possono usare in progetti propri e dei clienti, non rivendere come libreria.

Gli utenti Pro hanno tutti i componenti, le nuove uscite ogni settimana (con un'email) e i "kit" di pagina completa. Contatore delle copie per vedere quali componenti piacciono di più.

5. Pagamenti con Stripe

Aggiungi un abbonamento a 9 € al mese o 79 € all'anno. Gratis l'utente ha: 30 componenti gratuiti. Con il piano Pro sblocca: tutti gli oltre 300 componenti, i kit di pagina e le nuove uscite.

A pagamento riuscito il webhook porta l'utente al piano Pro; se l'abbonamento viene disdetto o non rinnovato lo riporta al piano gratuito.

Per la sessione di pagamento e il webhook segui la guida "Pagamenti con Stripe" di Fattibile.

6. Controlli specifici di questo progetto

Oltre ai controlli della guida "Controllo finale", verifica in particolare:
1. Paywall: da un account gratuito, prova a leggere il codice di un componente Pro chiamando direttamente il database: deve arrivare vuoto.
Correggi quello che non va e scrivimi cosa hai cambiato.

Dettagli tecnici

Codice Pro protetto dal database

Le informazioni pubbliche e il codice stanno in due tabelle diverse: il codice Pro si legge solo con il piano Pro.

create table componenti (
  id uuid primary key default gen_random_uuid(),
  slug text not null unique,
  nome text not null,
  categoria text not null,
  anteprima_url text not null,
  pro boolean not null default false,
  copie int not null default 0
);

create table codici (
  componente_id uuid primary key references componenti(id) on delete cascade,
  codice text not null,
  frase_ai text not null
);

alter table componenti enable row level security;
alter table codici enable row level security;

create policy "catalogo pubblico" on componenti for select using (true);

create policy "codice gratuito o pro" on codici for select using (
  not (select c.pro from componenti c where c.id = componente_id)
  or exists (select 1 from profili p where p.id = auth.uid() and p.piano = 'pro')
);

-- Conta una copia (chiunque, ma solo +1 alla volta)
create function conta_copia(componente uuid) returns void
language sql security definer set search_path = public as $
  update componenti set copie = copie + 1 where id = componente;
$;

Pulsante Copia

Copia il testo negli appunti e mostra "Copiato!" per due secondi, con un ripiego per i browser che non permettono l'accesso agli appunti.

import { useState } from "react";

export function BottoneCopia({ testo, onCopia }: { testo: string; onCopia?: () => void }) {
  const [copiato, setCopiato] = useState(false);

  async function copia() {
    try {
      await navigator.clipboard.writeText(testo);
    } catch {
      // Ripiego: area di testo nascosta + comando di copia
      const area = document.createElement("textarea");
      area.value = testo;
      area.style.position = "fixed";
      area.style.opacity = "0";
      document.body.appendChild(area);
      area.select();
      document.execCommand("copy");
      area.remove();
    }
    setCopiato(true);
    onCopia?.();
    setTimeout(() => setCopiato(false), 2000);
  }

  return (
    <button type="button" onClick={copia} aria-live="polite">
      {copiato ? "Copiato!" : "Copia"}
    </button>
  );
}

Pezzi comuni a tutti i progetti

Glossario

Slug
La parte finale e leggibile dell'indirizzo di una pagina, es. /pizzeria-da-mario.
Componente
Un pezzo di interfaccia riutilizzabile, come un menu o una card, da inserire in più pagine.