Skip to content
View tonaluachefe's full-sized avatar

Block or report tonaluachefe

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
tonaluachefe/README.md

📚 Guia Completo: Criando um Site Profissional do Zero

Um guia educativo passo a passo para iniciantes criarem seu próprio site profissional usando HTML, CSS e JavaScript puro.


📖 Índice

  1. Introdução
  2. Pré-requisitos
  3. Estrutura do Projeto
  4. Passo a Passo Completo
  5. Explicação dos Arquivos
  6. Personalização
  7. Deploy e Publicação
  8. Processo Automatizado "PROSSIGA"
  9. Troubleshooting
  10. Recursos e Referências

🎯 Introdução

Este guia foi criado para ajudar iniciantes a criar um site profissional completo do zero, sem precisar de frameworks ou bibliotecas complexas. Você aprenderá a criar um site moderno, responsivo e otimizado usando apenas HTML5, CSS3 e JavaScript vanilla.

O que você vai aprender:

  • ✅ Estruturar um projeto web profissional
  • ✅ Criar HTML semântico e acessível
  • ✅ Estilizar com CSS moderno (Grid, Flexbox, Variáveis)
  • ✅ Adicionar interatividade com JavaScript
  • ✅ Otimizar para SEO e acessibilidade
  • ✅ Fazer deploy no GitHub Pages
  • ✅ Organizar código de forma profissional

O que você vai criar:

Um site completo com:

  • 🎨 Design moderno e responsivo
  • 🌙 Modo escuro/claro
  • 📱 Menu mobile
  • 🔍 Filtros interativos
  • 📊 Animações e transições
  • 📧 Formulário de contato
  • 🖼️ Galeria de imagens
  • ⭐ Seção de depoimentos

📋 Pré-requisitos

Conhecimentos Básicos Necessários:

  • HTML básico: Saber criar tags e estrutura básica
  • CSS básico: Saber aplicar estilos simples
  • JavaScript básico: Conhecer variáveis, funções e eventos
  • Git básico: Saber fazer commit e push (opcional, mas recomendado)

Ferramentas Necessárias:

  1. Editor de Código:

  2. Navegador Web:

    • Chrome, Firefox, Edge ou Safari
  3. Git (opcional):

  4. Conta no GitHub (opcional):


📁 Estrutura do Projeto

Antes de começar, vamos entender a estrutura que vamos criar:

seu-site/
├── index.html          # Página principal (HTML)
├── manifest.json       # Configuração PWA
├── README.md           # Este guia
├── .gitignore          # Arquivos ignorados pelo Git
├── css/
│   └── style.css      # Todos os estilos (CSS)
├── js/
│   └── main.js        # Toda a lógica (JavaScript)
└── images/            # Pasta para suas imagens
    ├── favicon.png    # Ícone do site
    └── ...            # Suas imagens aqui

Por que essa estrutura?

  • Organização: Cada tipo de arquivo em sua pasta
  • Manutenção: Fácil de encontrar e editar
  • Performance: Carregamento otimizado
  • Profissional: Padrão da indústria

🚀 Passo a Passo Completo

Fase 1: Preparação do Ambiente

1.1 Criar a Pasta do Projeto

No Windows (PowerShell):

# Navegar para onde quer criar o projeto
cd Desktop

# Criar pasta do projeto
mkdir meu-site-profissional
cd meu-site-profissional

No Mac/Linux (Terminal):

cd ~/Desktop
mkdir meu-site-profissional
cd meu-site-profissional

1.2 Criar a Estrutura de Pastas

No Windows (PowerShell):

mkdir css, js, images

No Mac/Linux (Terminal):

mkdir css js images

1.3 Inicializar Git (Opcional mas Recomendado)

git init

Fase 2: Criar o HTML (index.html)

O HTML é a estrutura do seu site. Vamos criar a página principal:

2.1 Estrutura Básica HTML5

Crie o arquivo index.html na raiz do projeto com este conteúdo:

<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Meu Site Profissional</title>
    <link rel="stylesheet" href="css/style.css">
</head>
<body>
    <!-- Seu conteúdo aqui -->
    <script src="js/main.js"></script>
</body>
</html>

Explicação:

  • <!DOCTYPE html>: Declara que é HTML5
  • <html lang="pt-BR">: Idioma do site
  • <meta charset="UTF-8">: Codificação de caracteres
  • <meta name="viewport">: Responsividade mobile
  • <link rel="stylesheet">: Conecta o CSS
  • <script src="js/main.js">: Conecta o JavaScript

2.2 Adicionar Meta Tags para SEO

Adicione estas tags no <head> para melhorar o SEO:

<!-- Primary Meta Tags -->
<meta name="title" content="Título do Seu Site">
<meta name="description" content="Descrição do seu site para buscadores">
<meta name="keywords" content="palavras, chave, do, seu, site">
<meta name="author" content="Seu Nome">
<meta name="robots" content="index, follow">

<!-- Open Graph / Facebook -->
<meta property="og:type" content="website">
<meta property="og:url" content="https://seu-usuario.github.io/seu-repositorio/">
<meta property="og:title" content="Título do Seu Site">
<meta property="og:description" content="Descrição para compartilhamento">
<meta property="og:image" content="https://seu-usuario.github.io/seu-repositorio/images/og-image.jpg">

<!-- Twitter -->
<meta property="twitter:card" content="summary_large_image">
<meta property="twitter:title" content="Título do Seu Site">
<meta property="twitter:description" content="Descrição para Twitter">

2.3 Estrutura Completa do HTML

Agora vamos criar a estrutura completa com todas as seções. Veja o arquivo index.html completo neste repositório como referência.

Principais seções:

  • Header (cabeçalho com navegação)
  • Hero (seção principal de destaque)
  • Sobre
  • Receitas/Produtos/Serviços
  • Galeria
  • Depoimentos
  • Contato
  • Footer (rodapé)

Fase 3: Criar o CSS (css/style.css)

O CSS é responsável pela aparência visual do site.

3.1 Reset e Variáveis CSS

Comece com um reset básico e variáveis CSS:

/* Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Variáveis CSS - Facilita personalização */
:root {
    --primary-color: #d4a574;
    --secondary-color: #8b6f47;
    --dark-color: #2c2c2c;
    --light-color: #f5f5f5;
    --white: #ffffff;
    --text-dark: #333333;
    --text-light: #666666;
    --font-primary: 'Playfair Display', serif;
    --font-secondary: 'Poppins', sans-serif;
    --transition: all 0.3s ease;
}

/* Corpo do site */
body {
    font-family: var(--font-secondary);
    color: var(--text-dark);
    line-height: 1.6;
}

Por que variáveis CSS?

  • Facilita mudanças de cores em todo o site
  • Mantém consistência visual
  • Facilita criação de modo escuro/claro

3.2 Layout Responsivo com Grid e Flexbox

/* Container principal */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Grid para seções */
.sobre-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
}

/* Flexbox para navegação */
.navbar .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

3.3 Media Queries para Responsividade

/* Tablets e menores */
@media (max-width: 768px) {
    .sobre-content {
        grid-template-columns: 1fr; /* Uma coluna em mobile */
    }
}

/* Smartphones */
@media (max-width: 480px) {
    .hero-title {
        font-size: 2rem; /* Título menor em mobile */
    }
}

Veja o arquivo css/style.css completo neste repositório para referência completa.


Fase 4: Criar o JavaScript (js/main.js)

O JavaScript adiciona interatividade ao site.

4.1 Menu Mobile

// Selecionar elementos
const navToggle = document.getElementById('navToggle');
const navMenu = document.getElementById('navMenu');

// Adicionar evento de clique
navToggle.addEventListener('click', () => {
    navMenu.classList.toggle('active');
});

4.2 Scroll Suave

// Selecionar todos os links que começam com #
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
    anchor.addEventListener('click', function (e) {
        e.preventDefault();
        const target = document.querySelector(this.getAttribute('href'));
        if (target) {
            target.scrollIntoView({ behavior: 'smooth' });
        }
    });
});

4.3 Modo Escuro/Claro

const themeToggle = document.getElementById('themeToggle');
const html = document.documentElement;

// Verificar preferência salva
const currentTheme = localStorage.getItem('theme') || 'light';
html.setAttribute('data-theme', currentTheme);

// Alternar tema
themeToggle.addEventListener('click', () => {
    const newTheme = html.getAttribute('data-theme') === 'dark' ? 'light' : 'dark';
    html.setAttribute('data-theme', newTheme);
    localStorage.setItem('theme', newTheme);
});

Veja o arquivo js/main.js completo neste repositório para todas as funcionalidades.


Fase 5: Otimizações e Melhorias

5.1 Adicionar Google Fonts

No <head> do HTML:

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Poppins:wght@300;400;500;600&display=swap" rel="stylesheet">

5.2 Criar manifest.json (PWA)

Crie manifest.json na raiz:

{
  "name": "Nome do Seu Site",
  "short_name": "Seu Site",
  "description": "Descrição do seu site",
  "start_url": "/",
  "display": "standalone",
  "background_color": "#ffffff",
  "theme_color": "#d4a574",
  "icons": [
    {
      "src": "images/icon-192.png",
      "sizes": "192x192",
      "type": "image/png"
    }
  ]
}

5.3 Criar .gitignore

Crie .gitignore na raiz:

# OS
.DS_Store
Thumbs.db

# Editor
.vscode/
.idea/

# Logs
*.log

📄 Explicação dos Arquivos

index.html

  • O que é: Estrutura HTML do site
  • O que contém: Todas as seções, textos e estrutura
  • Como editar: Abra no editor e modifique os textos/conteúdo

css/style.css

  • O que é: Estilos visuais do site
  • O que contém: Cores, fontes, layouts, animações
  • Como editar: Modifique as variáveis CSS para mudar cores, ajuste media queries para responsividade

js/main.js

  • O que é: Lógica e interatividade
  • O que contém: Eventos, animações, funcionalidades
  • Como editar: Adicione novos event listeners ou modifique os existentes

manifest.json

  • O que é: Configuração para PWA (Progressive Web App)
  • O que contém: Metadados do app
  • Como editar: Altere nome, descrição e cores

🎨 Personalização

Mudar Cores

Edite as variáveis CSS em css/style.css:

:root {
    --primary-color: #SUA_COR_AQUI;
    --secondary-color: #SUA_COR_AQUI;
    /* ... */
}

Mudar Fontes

  1. Escolha fontes no Google Fonts
  2. Adicione o link no <head> do HTML
  3. Atualize as variáveis CSS:
:root {
    --font-primary: 'Nome da Fonte', serif;
    --font-secondary: 'Nome da Fonte', sans-serif;
}

Adicionar Seções

  1. Adicione HTML em index.html
  2. Adicione estilos em css/style.css
  3. Adicione interatividade em js/main.js (se necessário)

Adicionar Imagens

  1. Coloque imagens na pasta images/
  2. Use no HTML: <img src="images/sua-imagem.jpg" alt="Descrição">
  3. Otimize imagens antes de usar (reduza tamanho)

🌐 Deploy e Publicação

Opção 1: GitHub Pages (Gratuito e Fácil)

Passo 1: Criar Repositório no GitHub

  1. Acesse github.com
  2. Clique em "New repository"
  3. Nome: seu-site
  4. Público ou Privado
  5. NÃO marque "Initialize with README"
  6. Clique em "Create repository"

Passo 2: Conectar Repositório Local

No terminal, na pasta do projeto:

# Inicializar Git (se ainda não fez)
git init

# Adicionar arquivos
git add .

# Primeiro commit
git commit -m "Initial commit: Meu site profissional"

# Adicionar remote do GitHub
git remote add origin https://github.com/SEU-USUARIO/seu-site.git

# Renomear branch para main
git branch -M main

# Fazer push
git push -u origin main

Passo 3: Ativar GitHub Pages

  1. No GitHub, vá em Settings
  2. Role até Pages
  3. Em Source, selecione main
  4. Clique em Save
  5. Aguarde alguns minutos
  6. Seu site estará em: https://SEU-USUARIO.github.io/seu-site/

Opção 2: Netlify (Deploy Automático)

  1. Acesse netlify.com
  2. Conecte sua conta GitHub
  3. Clique em "New site from Git"
  4. Selecione seu repositório
  5. Deploy automático a cada push!

Opção 3: Vercel (Similar ao Netlify)

  1. Acesse vercel.com
  2. Conecte GitHub
  3. Importe seu repositório
  4. Deploy automático!

⚡ Processo Automatizado "PROSSIGA"

Para facilitar o desenvolvimento, você pode usar o comando "prossiga" que executa automaticamente:

O que o "prossiga" faz:

  1. Verificação

    • Verifica estrutura de pastas
    • Verifica arquivos principais
    • Verifica estado do Git
  2. Otimizações

    • Aplica melhorias de SEO
    • Verifica acessibilidade
    • Otimiza performance
  3. Testes

    • Valida HTML/CSS/JS
    • Testa funcionalidades
    • Verifica links
  4. Git e Deploy

    • Adiciona arquivos modificados
    • Cria commit descritivo
    • Faz push para GitHub
  5. Documentação

    • Atualiza README se necessário
    • Documenta mudanças

Como usar:

Simplesmente digite "prossiga" quando quiser que o sistema execute todas essas tarefas automaticamente.


🔧 Troubleshooting (Solução de Problemas)

Site não aparece no GitHub Pages

Solução:

  • Verifique se o repositório é público
  • Verifique se a branch está correta (main)
  • Aguarde alguns minutos (pode demorar até 10 minutos)
  • Verifique se o arquivo index.html está na raiz

Imagens não aparecem

Solução:

  • Verifique o caminho: images/nome-imagem.jpg
  • Certifique-se que a pasta se chama images (não image)
  • Verifique se o arquivo existe na pasta

CSS não está funcionando

Solução:

  • Verifique o caminho no HTML: href="css/style.css"
  • Certifique-se que o arquivo existe
  • Limpe o cache do navegador (Ctrl+F5)

JavaScript não funciona

Solução:

  • Abra o Console do navegador (F12)
  • Verifique se há erros
  • Verifique o caminho: src="js/main.js"
  • Certifique-se que o script está antes de </body>

Menu mobile não abre

Solução:

  • Verifique se o JavaScript está carregado
  • Verifique se os IDs estão corretos
  • Abra o Console e veja se há erros

📚 Recursos e Referências

Documentação Oficial

Ferramentas Úteis

Tutoriais Recomendados

Validação


✅ Checklist Final

Antes de considerar seu site completo, verifique:

  • Todos os textos estão corretos
  • Todas as imagens estão otimizadas
  • Links funcionam corretamente
  • Site é responsivo (teste em mobile)
  • Formulário funciona (se tiver)
  • SEO está configurado
  • Favicon adicionado
  • Site testado em diferentes navegadores
  • Git configurado e código commitado
  • Site publicado (GitHub Pages/Netlify/Vercel)

🎓 Próximos Passos de Aprendizado

Depois de dominar este projeto, você pode aprender:

  1. Frameworks CSS: Bootstrap, Tailwind CSS
  2. Frameworks JavaScript: React, Vue.js
  3. Backend: Node.js, PHP, Python
  4. Banco de Dados: MySQL, MongoDB
  5. APIs: Como consumir e criar APIs
  6. Deploy Avançado: Docker, CI/CD

💡 Dicas Finais

  1. Pratique regularmente: Crie projetos pequenos para praticar
  2. Leia código de outros: Aprenda com projetos open source
  3. Use o Console: Sempre verifique erros no Console do navegador
  4. Teste em mobile: Sempre teste em dispositivos móveis
  5. Otimize imagens: Imagens grandes deixam o site lento
  6. Mantenha código limpo: Comente seu código, organize bem
  7. Versionamento: Use Git para controlar versões
  8. Documente: Sempre documente o que você faz

📞 Suporte

Se tiver dúvidas:

  1. Consulte a documentação oficial
  2. Pesquise no Google/Stack Overflow
  3. Verifique o Console do navegador para erros
  4. Revise este guia passo a passo

🎉 Parabéns!

Se você chegou até aqui, você já tem um site profissional funcionando!

Continue praticando, experimentando e aprendendo. O desenvolvimento web é uma jornada contínua de aprendizado.

Boa sorte com seus projetos! 🚀


Última atualização: 29/12/2025
Versão: 1.0
Autor: Criado como guia educativo para iniciantes


Este guia foi criado para ser um recurso educativo completo. Sinta-se livre para compartilhar, modificar e melhorar!

Popular repositories Loading

  1. tonaluachefe tonaluachefe Public

    CSS 1

  2. sui-bootcamp-2025-certificate sui-bootcamp-2025-certificate Public

    TypeScript