Guía de configuración — Supabase

Seguí estos 5 pasos y en 15 minutos los avisos van a aparecer automáticamente en el sitio.

~15 minutos 100% gratis Sin conocimiento técnico
1

Crear cuenta gratuita en Supabase

Abrí supabase.com y hacé clic en "Start your project".
Podés registrarte con tu cuenta de GitHub o con email y contraseña.

El plan gratuito incluye base de datos, almacenamiento de fotos (1 GB) y API REST automática. No piden tarjeta de crédito.
2

Crear un nuevo proyecto

Una vez que estés en tu panel de Supabase:

  1. Hacé clic en "New project"
  2. Name: escribí algo como grupo-inversa-particulares
  3. Database Password: elegí una contraseña (guardala, la vas a necesitar si querés conectar herramientas externas)
  4. Region: seleccioná South America (São Paulo) — es el servidor más cercano a San Juan
  5. Hacé clic en "Create new project"

Supabase tarda entre 30 y 60 segundos en preparar el proyecto. Esperá a que aparezca el panel principal.

3

Crear la tabla de avisos

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.

También podés abrir el archivo supabase-setup.sql que está en la carpeta del proyecto y copiar su contenido — es el mismo código.
4

Crear el almacenamiento de fotos (Storage)

Parte A — Crear el bucket:

  1. Name: escribí exactamente listing-photos (sin mayúsculas, con guión)
  2. Activá el interruptor "Public bucket" (para que las fotos se puedan ver en el sitio)
  3. Hacé clic en "Create bucket"

Parte B — Permitir que los usuarios suban fotos:

  1. Buscá la sección "OBJECTS" (no "Buckets")
  2. Hacé clic en "Add policies"
  3. En la pantalla que aparece, elegí "For full customization"
  4. Completá los campos:
    • Policy name: upload_publico
    • Allowed operation: tildá INSERT
    • Policy definition (USING expression): escribí true
  5. Hacé clic en "Review" y luego en "Save policy"
Importante: el nombre del bucket debe ser exactamente listing-photos (con guión, sin espacios, todo en minúsculas). Si lo escribís diferente, las fotos no se van a subir.
La política 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.
5

Conectar el sitio con tu proyecto

Necesitás copiar dos valores de Supabase y pegarlos en el index.html.

¿Dónde encontrar esos valores?

¿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.

La clave anon (pública) está pensada para usarla en el navegador — podés incluirla en el HTML sin problema. Nunca uses la clave service_role en el front-end: esa clave tiene acceso total y debe quedar solo en servidores privados.

¿Cómo aprobás los avisos que llegan?

Cada vez que alguien publica en tu sitio:

  1. Te llega un mensaje por WhatsApp con los datos del aviso (nombre, teléfono, tipo, zona, descripción).
  2. Entrás a supabase.com/dashboard → tu proyecto →
  3. Ves el aviso nuevo con status = pendiente.
  4. Hacés clic en la celda status de ese aviso, escribís aprobado y presionás Enter.
  5. Hacés clic en el botón "Save changes" (aparece arriba de la tabla).

Al instante ese aviso aparece en el sitio con su tarjeta, fotos y botón de WhatsApp directo al publicante.

Más adelante podemos agregar un panel de moderación dentro del mismo sitio para aprobar avisos con un clic, sin tener que entrar a Supabase.

Resumen rápido — checklist

¡Todo listo para funcionar!

Completando 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