Seguí estos 5 pasos y en 15 minutos los avisos van a aparecer automáticamente en el sitio.
Abrí supabase.com
y hacé clic en "Start your project".
Podés registrarte con tu cuenta de GitHub o con email y contraseña.
Una vez que estés en tu panel de Supabase:
grupo-inversa-particularesSupabase tarda entre 30 y 60 segundos en preparar el proyecto. Esperá a que aparezca el panel principal.
Usamos el SQL Editor para crear la tabla con un solo copy/paste:
Código a pegar:
-- Tabla de avisos
create table public.listings (
id uuid default gen_random_uuid() primary key,
nombre text not null,
telefono text not null,
categoria text not null,
operacion text not null,
titulo text not null,
precio text,
moneda text default 'ARS',
zona text not null,
descripcion text not null,
fotos text[] default '{}',
status text default 'pendiente',
created_at timestamptz default now()
);
-- Seguridad: habilitar Row Level Security
alter table public.listings enable row level security;
-- Cualquiera puede VER los avisos que vos aprobaste
create policy "ver_aprobados"
on public.listings for select
using ( status = 'aprobado' );
-- Cualquiera puede ENVIAR un aviso nuevo (queda pendiente hasta que vos lo aprobés)
create policy "insertar_aviso"
on public.listings for insert
with check ( true );
-- Índices para que las búsquedas sean rápidas
create index on public.listings (status);
create index on public.listings (categoria);
create index on public.listings (created_at desc);
Después de hacer clic en "Run", abajo debería aparecer el mensaje:
Success. No rows returned
Eso significa que todo salió bien.
supabase-setup.sql que está en la carpeta del proyecto y copiar su contenido — es el mismo código.
Parte A — Crear el bucket:
listing-photos (sin mayúsculas, con guión)Parte B — Permitir que los usuarios suban fotos:
upload_publicotruelisting-photos (con guión, sin espacios, todo en minúsculas). Si lo escribís diferente, las fotos no se van a subir.
true en INSERT permite que cualquier visitante suba fotos. Esto está bien porque cada foto queda ligada a un aviso pendiente que vos revisás antes de publicar.
Necesitás copiar dos valores de Supabase y pegarlos en el index.html.
¿Dónde encontrar esos valores?
https://abcdefgh.supabase.coeyJ...¿Dónde pegarlos?
Abrí el archivo index.html con cualquier editor de texto
(Bloc de Notas, Notepad++, VS Code, etc.) y buscá estas dos líneas
al final del archivo (dentro del bloque <script>):
const SUPABASE_URL = 'TU_SUPABASE_URL';
const SUPABASE_ANON_KEY = 'TU_SUPABASE_ANON_KEY';
Reemplazá los textos entre comillas con tus valores. Por ejemplo:
const SUPABASE_URL = 'https://abcdefghij.supabase.co';
const SUPABASE_ANON_KEY = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...';
Guardá el archivo. Listo.
Cada vez que alguien publica en tu sitio:
status = pendiente.status de ese aviso, escribís aprobado y presionás Enter.Al instante ese aviso aparece en el sitio con su tarjeta, fotos y botón de WhatsApp directo al publicante.
listing-photos creado como públicoupload_publico creada (Storage → Policies → OBJECTS → INSERT)SUPABASE_URL y SUPABASE_ANON_KEY pegados en el index.htmlCompletando los 5 pasos, tu sitio recibe avisos reales, sube las fotos a la nube y los muestra en tarjetas automáticamente cuando vos los aprobás.
Ir al sitio