Este é o frontend para uma landing page moderna, construída com Next.js, TypeScript e Tailwind CSS. O projeto inclui funcionalidades como formulário de contato com envio de e-mail, alertas animados e design responsivo.
- Design Responsivo: Adaptável a diferentes tamanhos de tela (desktop, tablet, mobile).
- Formulário de Contato: Permite que os usuários enviem mensagens, que são encaminhadas por e-mail para um destinatário configurado.
- Feedback visual (sucesso/erro) ao enviar o formulário.
- Alertas Animados: Componente de alerta reutilizável (
alert.tsx) com animações (usando Framer Motion) para exibir mensagens de sucesso, erro ou informativas. - Botão Flutuante do WhatsApp: Um botão (
whatsappbutton.tsx) fixo no canto inferior direito para fácil contato via WhatsApp. - Menu de Navegação Responsivo: Barra de navegação (
navbar.tsx) com um menu lateral (drawer) para dispositivos móveis. - Rodapé Padrão: Componente de rodapé (
footer.tsx). - Tipagem Estática: Desenvolvido com TypeScript para maior robustez e manutenibilidade.
- Estilização Moderna: Utiliza Tailwind CSS para uma estilização rápida e consistente.
- Next.js 15.x (com App Router)
- React 18.x
- TypeScript
- Tailwind CSS
- Framer Motion: Para animações.
- Nodemailer: Utilizado no backend (API Route) para o envio de e-mails do formulário de contato.
- Lucide Icons: Para iconografia.
-
Clone o repositório:
git clone https://github.com/ArthurProjectCorrea/frontend-project-landing_page.git cd frontend-project-landing_page/frontend -
Instale as dependências:
npm install # ou yarn install # ou pnpm install
Para o funcionamento correto do envio de e-mails pelo formulário de contato, você precisará configurar as variáveis de ambiente. Crie um arquivo chamado .env.local na raiz da pasta frontend do projeto e adicione as seguintes variáveis:
# .env.local
# Configurações do Servidor de E-mail (Exemplo para Gmail)
EMAIL_SERVER_HOST=smtp.gmail.com
EMAIL_SERVER_PORT=465
EMAIL_SERVER_SECURE=true
EMAIL_SERVER_USER=seu-email@gmail.com
EMAIL_SERVER_PASSWORD=sua-senha-de-app-de-16-digitos # Se usar Gmail com 2FA, gere uma "Senha de App"
# E-mail que aparecerá como remetente
EMAIL_FROM=seu-email@gmail.com
# E-mail que receberá as mensagens do formulário
EMAIL_TO=email-de-destino@example.com
Onde obter as chaves:
EMAIL_SERVER_HOST,EMAIL_SERVER_PORT,EMAIL_SERVER_SECURE: Fornecidos pelo seu provedor de e-mail (Gmail, Outlook, etc.).- Para Gmail:
EMAIL_SERVER_HOST:smtp.gmail.comEMAIL_SERVER_PORT:465(para SSL) ou587(para TLS)EMAIL_SERVER_SECURE:true(para porta 465 ou 587 com STARTTLS)
- Para Hotmail/Outlook:
EMAIL_SERVER_HOST:smtp.office365.comEMAIL_SERVER_PORT:587(para STARTTLS)EMAIL_SERVER_SECURE:true(para STARTTLS na porta 587, algumas bibliotecas podem requererfalsee lidar com STARTTLS internamente)
- Para Gmail:
EMAIL_SERVER_USER: Seu endereço de e-mail.EMAIL_SERVER_PASSWORD:- Gmail: Se você usa autenticação de dois fatores (2FA), você precisa gerar uma "Senha de App" específica para este aplicativo nas configurações de segurança da sua conta Google. Caso contrário (não recomendado), você pode precisar ativar "Acesso a app menos seguro".
- Hotmail/Outlook: Se você usa verificação em duas etapas, gere uma "senha de aplicativo" nas configurações de segurança da sua conta Microsoft.
EMAIL_FROM: O endereço de e-mail que aparecerá como remetente.EMAIL_TO: O endereço de e-mail que receberá as mensagens enviadas através do formulário.
Importante: O arquivo .env.local não deve ser enviado para o repositório Git. Ele já está incluído no .gitignore.
-
Servidor de Desenvolvimento:
npm run dev # ou yarn dev # ou pnpm dev
Abra http://localhost:3000 no seu navegador para ver o resultado.
-
Build de Produção:
npm run build
-
Iniciar Servidor de Produção:
npm start
frontend/
├── app/ # Pasta principal da aplicação (App Router)
│ ├── api/ # Rotas de API
│ │ └── send-email/ # API para envio de e-mail
│ │ └── route.ts
│ ├── ui/ # Componentes de UI reutilizáveis
│ │ ├── alert.tsx
│ │ ├── contact.tsx
│ │ ├── footer.tsx
│ │ ├── navbar.tsx
│ │ └── whatsappbutton.tsx
│ ├── layout.tsx # Layout principal da aplicação
│ └── page.tsx # Página inicial
├── public/ # Arquivos estáticos
├── .env.local # Variáveis de ambiente (não versionado)
└── ... # Outros arquivos de configuração
Este projeto Next.js pode ser facilmente implantado em plataformas como Vercel (recomendado), Netlify, AWS Amplify, entre outras. A Vercel oferece integração direta com repositórios GitHub para deploys automáticos.