FORMA — Móveis
Loja de móveis fullstack com design editorial e fluxo completo de compra demonstrativa.
- Função
- Desenvolvedor Fullstack
- Status
- Concluído

FORMA é uma loja de móveis fullstack com identidade visual minimalista e uma abordagem editorial para explorar coleções, ambientes e detalhes das peças. A interface combina SvelteKit 2, Svelte 5, TypeScript e Tailwind CSS 4 com Bits UI, Lenis e parallax em camadas. A API em Go usa Fiber, Uber Fx e Zap, com PostgreSQL para persistir catálogo, contas, estoque e pedidos. O fluxo de compra inclui busca, filtros, acabamentos, favoritos, sacola, cotação de frete no servidor, reserva de estoque e acompanhamento de pedidos. As contas oferecem confirmação de e-mail, recuperação de senha e gestão de sessões. Os provedores de pagamento e envio são simulados no servidor; não há cobranças ou entregas reais. O repositório inclui Docker Compose, documentação OpenAPI e uma configuração separada de produção. Hospedagem pública, domínio e serviço SMTP ainda precisam ser configurados.
Principais recursos
- Vitrine editorial com parallax em camadas e animações por scroll.
- Busca e filtros de móveis, acabamentos e coleções por ambiente.
- Favoritos e sacola salvos no navegador.
- Cadastro, confirmação de e-mail, recuperação de senha e gestão de sessões.
- Cotação de frete no servidor, reserva de estoque e acompanhamento de pedidos demonstrativos.
- Catálogo, contas, estoque e pedidos persistidos no PostgreSQL.
- Provedores de pagamento e envio simulados, sem cobranças ou entregas reais.
Arquitetura
O servidor SvelteKit carrega o catálogo e encaminha requisições autenticadas para a API Go. Handlers Fiber chamam serviços de aplicação, que usam interfaces de repositório implementadas com PostgreSQL. Uber Fx compõe as dependências e gerencia seu ciclo de vida.
- Fluxo: navegador → SvelteKit → Go / Fiber → PostgreSQL.
- Domínio, aplicação e adaptadores separados em módulos de catálogo e comércio.
- Abstract Factory compõe famílias compatíveis de repositórios.
- Sessões opacas usam cookies HttpOnly, com hashes de sessão persistidos no banco.
- Preços, reservas de estoque e totais dos pedidos são validados no servidor.
- Migrações SQL versionadas, contratos OpenAPI e Docker Compose.