Exercio 4 - Tunando o Projeto com Superpoderes Supabase
Exercício Criativo 5: Tunando o Projeto com Superpoderes Supabase ✨🔧
Sua Missão: Revisitar o projeto que você modelou no Exercício 2 (ou a Agência de Heróis) e imaginar como os superpoderes do Supabase (Auth, Storage, Realtime) poderiam deixá-lo ainda mais incrível!
Agora que você conhece as ferramentas extras que o Supabase oferece além do banco de dados puro, é hora de pensar em como elas se encaixam nas funcionalidades que você gostaria de ter.
O Desafio:
Para o seu projeto modelo (ou a Agência), pense e descreva como você poderia usar:
Autenticação (Auth):
Precisa de login e cadastro? Quem seriam os usuários?
Quais métodos de login fariam sentido? (Email/Senha? Login com Google/GitHub?)
Row Level Security (RLS): Pense em pelo menos duas regras de RLS que seriam importantes. Quem pode ver o quê? Quem pode modificar o quê? (Ex: "Usuário só pode ver seus próprios posts", "Apenas administradores podem editar a tabela de jogos", "Agente só pode ver missões atribuídas a ele"). Descreva a regra em palavras.
Storage:
Seu projeto precisa guardar algum tipo de arquivo? (Fotos de perfil? Imagens de posts? Capas de jogos? Relatórios de missão em PDF?)
Que buckets você criaria para organizar esses arquivos?
Para um tipo de arquivo (ex: fotos de perfil), descreva brevemente as políticas de acesso que você definiria (Quem pode fazer upload? Quem pode ver? Quem pode deletar?).
Realtime:
Existe alguma parte do seu projeto que se beneficiaria de atualizações ao vivo?
Pense em um exemplo de onde o Realtime seria útil. (Ex: Notificar o usuário quando um novo seguidor aparecer, mostrar novas mensagens em um chat interno da agência, atualizar um placar de pontuações, indicar que uma missão mudou de status).
Qual tabela precisaria ter o Realtime habilitado para esse exemplo funcionar?
Como Entregar:
Escreva um texto descrevendo suas ideias para cada um dos três superpoderes (Auth/RLS, Storage, Realtime) aplicados ao seu projeto.
Seja criativo! Pense em funcionalidades legais que essas ferramentas permitem.
Exemplo de Resposta (Parcial para Agência de Heróis):
Autenticação/RLS:
Sim, precisa de login para os agentes e talvez para administradores da agência.
Login com Email/Senha seria o básico. Talvez um "Login com ID de Agente Secreto"?
RLS 1 (Agentes): Política na tabela
missoes
paraSELECT
:USING (agente_id = auth.uid() OR auth.role = 'admin')
. (Agente só vê suas missões, admin vê todas).RLS 2 (Agentes): Política na tabela
agentes
paraUPDATE
:USING (id = auth.uid()) WITH CHECK (id = auth.uid())
. (Agente só pode atualizar seu próprio perfil).
Storage:
Sim! Guardar fotos de perfil dos agentes e talvez relatórios das missões em PDF.
Buckets:
fotos-agentes
,relatorios-missoes
.Políticas para
fotos-agentes
: Upload/Delete só pelo próprio agente (auth.uid()
), Select por qualquer agente autenticado.
Realtime:
Seria útil para notificar um agente quando uma nova missão for atribuída a ele.
Habilitar Realtime para
INSERT
na tabelamissoes
. O app do agente ficaria "escutando" novos inserts onde oagente_id
é o dele.
Objetivo: Conectar os recursos avançados do Supabase com necessidades práticas de um projeto, mostrando como eles vão além de um simples banco de dados e ajudam a construir aplicações completas e modernas.
Solte a imaginação e turbine seu projeto!
Last updated