RODRIGO SOUZA

Álbum Cheio - Gestão de Figurinhas

Next.jsNestJSSupabaseTypeScript

Álbum Cheio é um produto fullstack publicado para colecionadores acompanharem álbuns de figurinhas com catálogo administrável, autenticação, coleção privada por usuário e visão clara de progresso. A arquitetura foi construída como monorepo TypeScript, combinando frontend em Next.js, API NestJS, pacote compartilhado, Supabase com Row Level Security e uma suíte de testes unitários e E2E para os fluxos críticos.

Álbum Cheio - Gestão de Figurinhas

Duração do Projeto

Contínuo

Tamanho da Equipe

Líder Solo

Função

Arquiteto Fullstack

Conclusão

2026

Visão Geral

O objetivo foi transformar a gestão manual de figurinhas em um fluxo digital simples: o usuário entra, escolhe um álbum publicado, marca quantidades por figurinha, acompanha progresso por seção e gera listas úteis para troca.

A solução separa o catálogo administrável da coleção privada. Administradores gerenciam álbuns, seções e figurinhas; usuários comuns enxergam catálogos publicados e mantêm seus próprios itens protegidos por autenticação, guardas de API e políticas de banco.

Principais Funcionalidades

  • Autenticação com cadastro, login, sessão persistida e rotas protegidas
  • Catálogo administrável de álbuns, seções, figurinhas e status de publicação
  • Coleção por usuário com quantidade total, figurinha obtida, faltante e repetida
  • Cálculo de progresso geral e por seção do álbum
  • Busca por código de figurinha para atualização rápida da coleção
  • Exportação de listas de faltantes e repetidas para cópia ou impressão
  • Métricas Prometheus-like, logs estruturados e sanitização de campos sensíveis

Desafios e Soluções

Separação entre catálogo e coleção

Modelei o domínio para permitir que um catálogo seja compartilhado entre usuários, enquanto cada coleção permanece privada e calculada a partir das quantidades individuais.

Controle de acesso em camadas

Combinei guardas no NestJS com políticas no Supabase para proteger mutações administrativas, leitura de álbuns e dados de coleção do usuário.

Experiência de uso recorrente

Priorizei ações rápidas para atualizar quantidade, buscar figurinha por código e gerar listas de troca sem transformar o usuário em operador de sistema.

Tecnologias

  • NX

    Next.js / React

    Interface autenticada com App Router, componentes client e fluxos responsivos

  • NS

    NestJS

    API modular com controllers, services, repositories, guards e validações

  • SB

    Supabase

    Autenticação, Postgres, migrations, índices e Row Level Security

  • T

    Vitest / Playwright

    Testes unitários, integração e E2E para fluxos críticos do produto