Push the 4 legacy seed articles (Financial Literacy, Dietary Patterns, Entrepreneurship Education, Bootcamps) to your Supabase database for permanent storage.
Paste your Supabase project's URL and anon (public) key below. Posts will be saved to your Supabase database — so they're not lost if you clear the browser — and Google sign-in will work through Supabase Auth.
Status: Not connected
One-time Supabase setup
Create a free project at supabase.com.
In SQL Editor, paste & run the table schema below.
In Authentication → Providers, enable Google and add your Google OAuth client ID + secret (from console.cloud.google.com). Set the authorized redirect URI to the one Supabase shows you.
In Settings → API, copy your Project URL and anon public key, and paste them above.
SQL schema
create table if not exists posts (
id uuid primary key default gen_random_uuid(),
title text not null,
lead text,
body text,
cover text,
category text,
tags jsonb default '[]'::jsonb,
author text,
author_email text,
author_avatar text,
status text default 'draft',
created_at timestamptz default now(),
updated_at timestamptz default now()
);
alter table posts enable row level security;
-- Anyone can read published posts
create policy "read published" on posts
for select using (status = 'published');
-- Authenticated users can read their own drafts; admin can read all
create policy "read own" on posts
for select using (
auth.jwt() ->> 'email' = author_email
or auth.jwt() ->> 'email' = 'info@senlaresearchhub.com'
);
-- Authenticated users can insert their own posts
create policy "insert own" on posts
for insert with check (auth.jwt() ->> 'email' = author_email);
-- Authenticated users can update/delete their own posts; admin can update/delete any
create policy "update own" on posts
for update using (
auth.jwt() ->> 'email' = author_email
or auth.jwt() ->> 'email' = 'info@senlaresearchhub.com'
);
create policy "delete own" on posts
for delete using (
auth.jwt() ->> 'email' = author_email
or auth.jwt() ->> 'email' = 'info@senlaresearchhub.com'
);
Your URL and anon key are stored only in your browser (localStorage). The anon key is safe to expose publicly — Row Level Security (above) controls what each user can do.