Sobre o projeto
Simulação de uma loja de roupas online com as funcionalidades essenciais de um e-commerce moderno. O backend é uma API REST em Spring Boot e o frontend é uma SPA em React com TypeScript.
O projeto foi estruturado para ser modular e seguro, separando controllers, services, repositories e DTOs no backend, e estado do servidor (TanStack Query) do estado do cliente (Zustand) no frontend.
Destaques
Carrinho híbrido: salvo no localStorage para visitantes e no banco para usuários logados, com merge automático no login
Controle de estoque ao adicionar itens no carrinho
Autenticação com Spring Security e controle de acesso por papel (ROLE_USER / ROLE_ADMIN)
Painel administrativo com CRUD de produtos, busca e paginação em rotas protegidas
Scroll infinito na listagem de produtos com useInfiniteQuery
Formulários validados no cliente (React Hook Form + Zod) e no servidor
Tecnologias
- Java 17
- Spring Boot 3
- Spring Data JPA
- Spring Security
- H2
- React 18
- Vite
- TypeScript
- TanStack Query
- Zustand
- Bootstrap 5