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:

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

  2. 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?).

  3. 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 para SELECT: 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 para UPDATE: 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 tabela missoes. O app do agente ficaria "escutando" novos inserts onde o agente_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