Álbum Cheio - Gestão de Figurinhas
Á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.
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