Pré-requisitos:
- Node.js v20 ou superior
- npm v10+ (ou pnpm v9+)
- Acesso à API backend rodando (local ou remota)
1. Clonar o repositório
2. Instalar dependências
3. Configurar variáveis de ambiente
Copie o arquivo de exemplo e preencha os valores:.env.local:
4. Rodar em desenvolvimento
5. Outros comandos
| Comando | O que faz |
|---|---|
npm run dev | Servidor de desenvolvimento com hot reload |
npm run build | Build de produção |
npm run start | Serve o build de produção localmente |
npm run lint | Executa ESLint no projeto |
Verificar se está funcionando
- Abra http://localhost:3001
- Você deve ser redirecionado para
/login - Faça login com as credenciais do backend
- O dashboard deve carregar sem erros no console
Estrutura de rotas
| Rota | Tipo | Descrição |
|---|---|---|
/login | Pública | Tela de autenticação |
/dashboard | Protegida | Painel principal |
/products | Protegida | Catálogo de produtos |
/inventory | Protegida | Controle de estoque |
/orders | Protegida | Gestão de pedidos |
/listings | Protegida | Anúncios dos marketplaces |
/integrations | Protegida | Conexões com marketplaces |
/imports | Protegida | Importação de NF-e |
/login caso o usuário não esteja autenticado.
Dependências principais
| Pacote | Versão | Uso |
|---|---|---|
next | 16.0.7 | Framework principal |
react | 19.2.0 | Biblioteca de UI |
typescript | ^5 | Tipagem estática |
tailwindcss | ^4.1 | Estilização utilitária |
@tanstack/react-query | ^5 | Cache e fetching de dados |
zustand | ^5 | Estado global |
axios | ^1.13 | HTTP client |
react-hook-form | ^7 | Gerenciamento de formulários |
zod | ^4 | Validação de schemas |
@radix-ui/* | variado | Componentes UI acessíveis |
framer-motion | ^12 | Animações |
recharts | ^3 | Gráficos |
sonner | ^2 | Toast notifications |
lucide-react | ^0.554 | Ícones |
Troubleshooting
Erro: Failed to fetch / Network Error ao logar
Erro: Failed to fetch / Network Error ao logar
A variável
NEXT_PUBLIC_API_URL está incorreta ou o backend não está rodando. Verifique se o backend está acessível na URL configurada.Erro 401 em todas as requisições após login
Erro 401 em todas as requisições após login
O cookie de
refreshToken não está sendo enviado. Verifique se o backend está configurado com CORS permitindo credentials: true para a origem do frontend.Porta 3000 já em uso
Porta 3000 já em uso
O Next.js usa automaticamente a próxima porta disponível (ex:
3001). Verifique o terminal — a URL correta é exibida na inicialização. Alternativamente, configure NEXT_PUBLIC_API_URL para apontar para a porta correta do backend.Tela branca ou loop de redirect
Tela branca ou loop de redirect
Limpe o cache do Next.js e reinicie: