8000 Imperiali (Igor Imperiali) · GitHub
[go: up one dir, main page]

Skip to content
View Imperiali's full-sized avatar

Block or report Imperiali

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
imperiali/README.md

👨‍💻 Igor Imperiali

Software Engineer Specialist | Full-Stack Developer

🇧🇷 Português | 🇺🇸 English

Portfolio LinkedIn GitHub Email

GitHub Stats

GitHub Streak

Top Languages


🚀 Sobre o Projeto

Portfólio pessoal moderno e responsivo desenvolvido com as mais recentes tecnologias web. Apresenta experiência profissional, habilidades técnicas, projetos e recomendações de forma elegante e interativa.

✨ Features

  • 🌐 Multilíngue - Suporte completo para Português e Inglês
  • 🌙 Dark Mode - Tema escuro/claro com persistência
  • 📱 Responsivo - Design adaptativo para todos os dispositivos
  • Performance - Site estático ultra-rápido
  • 🎨 Animações - Transições suaves e modernas
  • 📧 Formulário de Contato - Integração com EmailJS
  • 🎠 Carrossel de Recomendações - Com autoplay e navegação
  • 🔍 SEO Otimizado - Meta tags e estrutura semântica

🛠️ Tech Stack

Frontend

Svelte TailwindCSS Vite JavaScript

Tools & Services

GitHub Actions EmailJS NPM

🚀 Quick Start

Pré-requisitos

  • Node.js 18+ instalado
  • Conta no EmailJS (opcional, para formulário de contato)

Instalação

git clone https://github.com/Imperiali/imperiali.git
cd imperiali
npm install

Configuração de Ambiente

  1. Copie o arquivo de exemplo:
cp .env.example .env
  1. Configure suas credenciais EmailJS no .env:
PUBLIC_EMAILJS_SERVICE_ID=seu_service_id
PUBLIC_EMAILJS_TEMPLATE_ID=seu_template_id
PUBLIC_EMAILJS_AUTOREPLY_ID=seu_autoreply_id
PUBLIC_EMAILJS_PUBLIC_KEY=sua_public_key

Desenvolvimento

npm run dev

Acesse em http://localhost:5173

Build

npm run build
npm run preview

igor-portfolio/ ├── src/ │ ├── routes/ │ │ ├── +page.svelte # Página principal │ │ ├── +layout.svelte # Layout base │ │ └── +layout.js # Configuração de pré-render │ ├── app.css # Estilos globais com Tailwind │ └── app.html # Template HTML base ├── static/ # Arquivos estáticos ├── package.json ├── svelte.config.js ├── tailwind.config.js └── vite.config.js


## 🎨 Características

- **Design Moderno**: Interface limpa e profissional
- **Responsivo**: Adaptado para todos os dispositivos
- **Performance**: Site estático ultra-rápido
- **SEO**: Meta tags otimizadas
- **Acessibilidade**: Navegação e semântica adequadas
- **i18n**: Suporte multilíngue (Português e Inglês) com troca dinâmica
- **Carrossel de Recomendações**: Navegação interativa com autoplay e controles
- **Seção de Projetos**: Design minimalista com ícones SVG grandes, tech stack e links
- **Formulário de Contato**: Integração com EmailJS para receber mensagens diretamente

## 📝 Customização

### Cores

As cores principais podem ser ajustadas em `tailwind.config.js`:

```js
colors: {
  primary: { ... }
}

Conteúdo e Traduções

As traduções estão em src/lib/i18n/translations/:

  • pt.js - Português
  • en.js - Inglês

Para adicionar um novo idioma:

  1. Crie um novo arquivo em src/lib/i18n/translations/
  2. Adicione-o ao index.js
  3. Adicione a bandeira no componente LanguageSwitcher.svelte

O idioma selecionado é salvo no localStorage do navegador.

Projetos

A seção de projetos usa um design minimalista com ícones SVG grandes ao fundo.

Para editar os projetos:

  1. Abra src/lib/i18n/translations/pt.js e en.js
  2. Edite a seção projects.items
  3. Escolha um ícone disponível: search, weather, location, shopping, vue, flutter
  4. Para adicionar novos ícones, edite src/lib/components/ProjectIcons.svelte

Formulário de Contato

O formulário usa EmailJS para enviar emails. Para configurar:

  1. Crie uma conta gratuita em EmailJS
  2. Configure um serviço de email
  3. Crie 2 templates:
    • 1 template principal (você recebe o contato)
    • 1 auto-reply bilíngue (resposta automática para usuário)
  4. Obtenha as credenciais (Service ID, Template IDs, Public Key)
  5. Crie um arquivo .env na raiz do projeto (copie de .env.example)
  6. Adicione suas credenciais no arquivo .env:
    PUBLIC_EMAILJS_SERVICE_ID=seu_service_id
    PUBLIC_EMAILJS_TEMPLATE_ID=template_principal
    PUBLIC_EMAILJS_AUTOREPLY_ID=autoreply
    PUBLIC_EMAILJS_PUBLIC_KEY=sua_public_key
  7. Veja templates prontos em EMAIL_TEMPLATES.md e instruções em EMAILJS_SETUP.md

Nota: O projeto funciona sem configuração, mas os emails não serão enviados até que você configure o EmailJS.

🌐 Deploy no GitHub Pages

O projeto está configurado com GitHub Actions para deploy automático.

Configuração Inicial

  1. Fork/Clone este repositório

  2. Configure o GitHub Pages:

    • Vá em SettingsPages
    • Em Source, selecione GitHub Actions
  3. Adicione as Secrets:

    • Vá em SettingsSecrets and variablesActions
    • Adicione as seguintes secrets:
      • PUBLIC_EMAILJS_SERVICE_ID
      • PUBLIC_EMAILJS_TEMPLATE_ID
      • PUBLIC_EMAILJS_AUTOREPLY_ID
      • PUBLIC_EMAILJS_PUBLIC_KEY
  4. Configure o Base Path:

    • Abra svelte.config.js
    • Altere o base para o nome do seu repositório:
    paths: {
      base: process.env.NODE_ENV === 'production' ? '/nome-do-seu-repo' : ''
    }
  5. Push para Main:

    git add .
    git commit -m "Configure GitHub Pages"
    git push origin main
  6. Aguarde o Deploy:

    • O GitHub Actions irá buildar e fazer deploy automaticamente
    • Acesse em: https://Imperiali.github.io/imperiali/

Deploy Manual (Outras Plataformas)

O projeto também pode ser hospedado em:

  • Vercel - npm install -g vercel && vercel
  • Netlify - Arraste a pasta build/ no dashboard
  • Cloudflare Pages - Conecte o repositório no dashboard

📊 GitHub Stats

Profile Views

GitHub followers GitHub stars

🤝 Contribuindo

Contribuições são bem-vindas! Sinta-se à vontade para:

  1. Fork o projeto
  2. Crie uma branch para sua feature (git checkout -b feature/AmazingFeature)
  3. Commit suas mudanças (git commit -m 'Add some AmazingFeature')
  4. Push para a branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

📝 Licença

Este projeto é de código aberto e está disponível sob a MIT License.

📧 Contato

Igor Imperiali


💜 Desenvolvido com SvelteKit

Se este projeto te ajudou, considere dar uma ⭐!

Made with Love Open Source

Pinned Loading

  1. weather-app weather-app Public

    Application to show the weather

    JavaScript 1

  2. great-places great-places Public

    A flutter app to learn tu use mobile native resourcers

    Dart

  3. shopapp shopapp Public

    A simple marketplace made in flutter

    Dart

  4. git-find git-find Public

    A challenge to make a web app to search through github's repos and show some details

    Vue

  5. green-road green-road Public

    A admin of a social network for people who do plantation in door

    C#

  6. BikeRideApp BikeRideApp Public

    Forked from victormendes5/BikeRideApp

    Java

0