Crie uma loja com pagamento na entrega + dashboard admin

Crie uma loja com pagamento na entrega com backend Supabase e dashboard admin.

Roadmap e recursos

Criar o sistema de pedidos no Supabase

Crie um novo projeto Supabase

Abrir o Supabase

https://supabase.com/?utm_source=partner&utm_medium=social&utm_campaign=supasquad&dub_id=faVfKdcLWvKCbYNp

Abrir o SQL Editor

Rodar SQL Code 1 — Criar a tabela de pedidos

-- Create orders table create table if not exists public.orders ( id uuid primary key default gen_random_uuid(), customer_name text not null, phone text not null, email text, city text not null, address text not null, country text default 'United States', product_name text not null, product_variant text, quantity int not null default 1, notes text, status text not null default 'pending', -- pending, confirmed, shipped, cancelled created_at timestamptz default now() ); -- Enable RLS alter table public.orders enable row level security;

Rodar SQL Code 2 — Criar a tabela de perfis

-- Create profiles table create table if not exists public.profiles ( user_id uuid primary key references auth.users(id) on delete cascade, role text not null default 'user' ); -- Enable RLS alter table public.profiles enable row level security;

Crie um usuário admin em Authentication → Users

Rodar SQL Code 3 — Atribuir o papel de admin

Substitua USER_ID pelo seu UID

insert into public.profiles (user_id, role) values ('PUT_USER_ID_HERE', 'admin');

Códigos SQL — Políticas de segurança (RLS)

SQL Code 4 — Política de leitura de perfis

-- Profiles are readable by owner create policy "Profiles are readable by owner" on public.profiles for select to authenticated using (auth.uid() = user_id);

SQL Code 5 — Política pública de inserção de pedidos

-- Public can create orders create policy "Public can create orders" on public.orders for insert to anon with check ( status = 'pending' );

SQL Code 6 — Política de admin para visualizar pedidos

-- Admins can view all orders create policy "Admins can view all orders" on public.orders for select to authenticated using ( exists ( select 1 from public.profiles where profiles.user_id = auth.uid() and profiles.role = 'admin' ) );

SQL Code 7 — Política de admin para atualizar pedidos

-- Admins can update all orders create policy "Admins can update all orders" on public.orders for update to authenticated using ( exists ( select 1 from public.profiles where profiles.user_id = auth.uid() and profiles.role = 'admin' ) ) with check ( exists ( select 1 from public.profiles where profiles.user_id = auth.uid() and profiles.role = 'admin' ) );

Copie a Project URL e a Publishable Key

Construir a loja com um formulário de pedido

Lista de verificação

Informe sua Supabase Project URL

Informe sua Supabase Publishable Key

Copie o prompt gerado

Gere a página da loja no Google AI Studio

Envie um pedido de teste

Verifique o pedido em Supabase → tabela Orders

Prompt usado neste passo

Prompt 1 — Gerar loja + formulário de pedido

You are building a web app INSIDE this Google AI Studio project. Task: Create a beautiful, premium, light-mode single-page Cash-on-Delivery (COD) store TEMPLATE (one product) that is simple and beginner-friendly to customize. IMPORTANT OUTPUT RULES: - Do NOT paste the full HTML/CSS/JS code in the chat. - Instead, create/update the project files directly. - After you finish, reply with: 1) A short bullet summary of what you built 2) Where beginners should edit the template (the exact variables/sections) Design (Light Mode): - Clean white / soft light gray background with a subtle pastel gradient. - Modern premium SaaS look (Apple/Stripe style). - Elegant spacing, rounded corners, soft shadows. - Looks great on mobile. Template placeholders (make them easy to edit): - STORE_NAME: "YOUR STORE NAME" - PRODUCT_NAME: "YOUR PRODUCT NAME" - PRODUCT_DESCRIPTION: "YOUR PRODUCT DESCRIPTION" - PRICE_PER_UNIT: 49 - CURRENCY: "USD" - Variants: "Variant A", "Variant B", "Variant C" - Default country: "United States" Sections to include (keep it simple): 1) Header (store name + link scroll to “How COD Works”) 2) Hero (product name, description, CTA buttons) 3) Benefits (3 cards) 4) How COD Works (3 steps) 5) Order Form (most important) + Order Summary (price x quantity) 6) FAQ (3 items) 7) Footer Supabase (INSERT only): - Use Supabase JS client. - Use placeholders: SUPABASE_URL = "{{SUPABASE_URL}}" SUPABASE_PUBLISHABLE_KEY = "{{SUPABASE_PUBLISHABLE_KEY}}" - On form submit: INSERT into table "orders" with: customer_name, phone, email, city, address, country, product_name, product_variant, quantity, notes, status="pending" Critical rules: - INSERT only. Do NOT use select/update/delete. - Show success banner on success, generic error banner on failure. - Validate required fields with small inline errors. - Disable the submit button while sending. Now build it inside the project so I can run it immediately.

Supabase Project URL

Cole aqui sua Supabase Project URL

Supabase Publishable Key

Cole aqui sua publishable key do Supabase

Criar o dashboard admin

Lista de verificação

Informe sua Supabase Project URL

Informe sua Supabase Publishable Key

Copie o prompt gerado

Gere o dashboard admin no Google AI Studio

Faça login com a conta de admin do Supabase

Prompt usado neste passo

Prompt 2 — Gerar dashboard admin

You are an expert full-stack engineer. Build a modern admin dashboard for managing Cash-on-Delivery (COD) orders using Supabase. Use the following Supabase credentials: SUPABASE_URL = "{{SUPABASE_URL}}" SUPABASE_KEY = "{{SUPABASE_KEY}}" The database contains a table called: orders Fields include: customer_name, email, phone, city, address, product_variant, quantity, status, created_at. The dashboard should allow an admin to: • log in • view order statistics • see recent orders • search and filter orders • update order status • customize the application name in settings Design it as a clean modern SaaS dashboard with a light Apple-style UI. Keep the implementation simple and produce a fully working result.

Supabase Project URL

Cole aqui sua Supabase Project URL

Supabase Publishable Key

Cole aqui sua Supabase Publishable Key

Implantar o projeto

Lista de verificação

Salve o projeto no GitHub a partir do Google AI Studio

Criar uma hospedagem Node.js Web App na Hostinger

Importe o repositório do GitHub

Abrir a URL do projeto em produção

Hospedagem usada neste passo

Implantar na Hostinger

Publique este projeto com a mesma configuração mostrada no vídeo.

RECOMMENDED

https://www.hostg.xyz/SHJ9M

Upgrade — Notificações automáticas por e-mail

Esta atualização deixa a loja mais prática enviando e-mails automáticos sempre que um novo pedido é feito.

- O dono da loja recebe um e-mail de novo pedido

- O cliente recebe um e-mail de confirmação do pedido

Faça sua loja com IA enviar e-mails automaticamente (tutorial Supabase)

Assistir ao tutorial

https://www.youtube.com/watch?v=NK6ztA_-0cE