Pular para o conteúdo
K
Voltar aos projetos
2026Full-stack (Django + React)Em produção

Geek Mania TCG

E-commerce de trading card games: catálogo com filtros combináveis, carrinho e área do cliente, servidos por uma API Django.

Captura de tela do projeto Geek Mania TCG
5
TCGs no catálogo
45
Produtos publicados
5
Eixos de filtro combináveis

Loja online especializada em trading card games — Pokémon, One Piece, Digimon e Dragon Ball — vendendo cartas avulsas, produtos selados e acessórios. Construí a plataforma inteira: modelagem do catálogo, API, front-end e deploy.

O back-end é Django com Django REST Framework expondo endpoints para catálogo, filtros, carrinho e autenticação. O front-end é uma SPA em React que consome essa API, com o Django Admin servindo de back-office para cadastro de produtos, banners e estoque.

O catálogo é a parte crítica: cada carta tem TCG, categoria, raridade, idioma e estado de conservação, e todos esses eixos precisam ser filtráveis ao mesmo tempo sem derrubar o banco.

Decisões técnicas

Filtros combináveis sem estourar o banco

Os filtros de TCG, categoria, raridade, idioma e conservação viram query params num único endpoint. Montei o queryset dinamicamente com select_related e prefetch_related para evitar N+1, e as opções de filtro vêm de um endpoint próprio para o front nunca precisar adivinhar o que existe.

Carrinho e sessão entre SPA e Django

O carrinho vive no servidor e sobrevive ao refresh e à troca de dispositivo depois do login. A SPA busca o token CSRF antes de qualquer escrita, então a autenticação por sessão do Django funciona normalmente mesmo com o front desacoplado.

Catálogo que carrega rápido

Respostas paginadas, imagens servidas pela borda da Cloudflare e cache nos endpoints que quase não mudam (TCGs, categorias, banners). O usuário navega no catálogo sem esperar o banco a cada clique.

Próximo projeto

GeekMania — Portal de TCG