Voltar para o início
Back-end & Arquitetura de Dados

E-commerce Backend & Infra

Solução de infraestrutura completa para comércio eletrônico utilizando PostgreSQL e Supabase. Projetado para alta integridade relacional, isolamento de privilégios e auditoria em tempo real.

PostgreSQLSupabaseRow Level SecurityRBACDockerCI/CD

Destaques de Engenharia

Controle de acesso granular (RBAC) em 4 níveis estritos
Políticas de Row Level Security (RLS) aplicadas a 100% das tabelas
35+ índices estratégicos (B-Tree, GIN) para otimização de queries
6 views operacionais e 3 materialized views para agregação contínua
27 testes automatizados cobrindo segurança, integridade e concorrência

Fluxo de Arquitetura

[Client Request]
       │
       ▼
[Supabase API / PostgREST]
       │
       ├──► [JWT Auth Validation]
       │
       ▼
[PostgreSQL Database Engine]
       ├──► [RLS Policies: auth.uid() = customer_id]
       ├──► [RBAC Role Verification]
       └──► [Triggers: Audit Logs & Materialized Views]

• Database: PostgreSQL com schemas isolados e triggers de auditoria

• Segurança: Políticas RLS vinculadas a claims do JWT para isolamento por tenant/usuário

• Pipeline: GitHub Actions validando migrações SQL e suíte de testes de integridade

Implementação em Código

Política RLS Granular com Validação RBACsql
CREATE POLICY "admin_and_staff_access_orders"
ON orders
FOR ALL
TO authenticated
USING (
  EXISTS (
    SELECT 1 FROM user_roles
    WHERE user_roles.user_id = auth.uid()
      AND user_roles.role IN ('admin', 'staff')
  )
  OR auth.uid() = customer_id
);

Desafios Técnicos Resolvidos

Desafio:

Garantir isolamento total de dados entre clientes e operadores no acesso direto ao banco via PostgREST.

Resolução Implementada:

Configuração de Row Level Security (RLS) restritiva combinando checagens de roles e tokens autenticados.

Desafio:

Lentidão nas consultas de relatórios operacionais consolidados.

Resolução Implementada:

Criação de Materialized Views com rotina de atualização assíncrona para cálculos pesados de RFM e receita.

Tem interesse em detalhes da arquitetura ou código deste projeto?

Conversar no WhatsApp