Até aqui, já aprendemos a usar módulos, import e export. Agora é hora de responder uma pergunta muito importante:
“Como organizar tudo isso em um projeto real?”
Nesta aula, vamos aprender a estruturar arquivos e pastas de forma clara, lógica e profissional.
🎯 Objetivo da aula
Ao final desta aula, você será capaz de:
- Entender por que organização é fundamental
- Estruturar pastas e arquivos JavaScript
- Separar responsabilidades corretamente
- Facilitar manutenção e crescimento do projeto
- Escrever código mais legível e profissional
Por que organização importa?
Em projetos pequenos, tudo parece funcionar bem em um único arquivo. Mas à medida que o projeto cresce, surgem problemas:
- Dificuldade para encontrar código
- Arquivos gigantes
- Funções misturadas
- Manutenção complicada
Organizar o projeto evita esses problemas antes mesmo que eles apareçam.
Pensando em responsabilidades
O primeiro passo é responder:
👉 “Qual é a responsabilidade deste código?”
Cada arquivo deve ter um propósito claro.
Estrutura básica de um projeto simples
Um projeto JavaScript simples pode ser organizado assim:
/projeto │ ├── index.html └── js/ ├── main.js ├── api.js ├── dom.js └── utils.js main.js→ ponto de entrada do projetoapi.js→ comunicação com APIsdom.js→ manipulação do DOMutils.js→ funções auxiliares
O papel do main.js
O main.js é o cérebro da aplicação.
Ele:
- Importa funções de outros módulos
- Inicializa a aplicação
- Conecta as partes do sistema
Ele não deve conter toda a lógica.
Separando por tipo de lógica
Um erro comum é separar apenas por “tamanho”. O ideal é separar por tipo de responsabilidade.
- Lógica de dados →
api.js - Lógica de interface →
dom.js - Lógica genérica →
utils.js
Exemplo prático: a organização acontecendo na prática
Para visualizar melhor essa separação por responsabilidade, vamos imaginar três arquivos simples, cada um cuidando de uma parte específica do projeto.
📦 api.js — Lógica de dados
Este arquivo cuida apenas da comunicação com APIs e dados externos.
// api.js
export async function buscarUsuarios()
{
const response = await fetch("https://jsonplaceholder.typicode.com/users");
const usuarios = await response.json();
return usuarios;
}
Repare que aqui não existe nenhuma manipulação de HTML — apenas dados.
🖥️ dom.js — Lógica de interface
Este arquivo cuida apenas de exibir informações na tela.
// dom.js
export function renderizarUsuarios(usuarios)
{
const lista = document.getElementById("lista-usuarios");
lista.innerHTML = "";
usuarios.forEach(usuario =>
{
const item = document.createElement("li");
item.textContent = usuario.name;
lista.appendChild(item);
});
}
Aqui não sabemos de onde vêm os dados — apenas mostramos o que recebemos.
🧰 utils.js — Lógica genérica
Este arquivo contém funções auxiliares, reutilizáveis em várias partes do projeto.
// utils.js export function capitalizarTexto(texto) { return texto.charAt(0).toUpperCase() + texto.slice(1); } Essa função não depende de API nem de DOM — ela pode ser usada em qualquer lugar.
🧠 E quem conecta tudo isso?
Esse papel fica com o main.js:
// main.js
import
{
buscarUsuarios
} from "./api.js";
import
{
renderizarUsuarios
} from "./dom.js";
async function iniciarApp()
{
const usuarios = await buscarUsuarios();
renderizarUsuarios(usuarios);
}
iniciarApp();
Perceba como cada arquivo faz uma coisa só — e faz bem.
Pastas também ajudam
Em projetos maiores, podemos organizar ainda melhor:
/js ├── api/ │ └── usuarios.js ├── dom/ │ └── render.js ├── utils/ │ └── formatar.js └── main.js Isso deixa o projeto ainda mais legível.
Organização ajuda no trabalho em equipe
Projetos bem organizados:
- São mais fáceis de entender
- Facilitam colaboração
- Reduzem bugs
- Aceleram manutenção
Mesmo que você trabalhe sozinho hoje, isso faz muita diferença no futuro.
Organização não é rigidez
Não existe uma única estrutura correta.
O mais importante é:
- Consistência
- Clareza
- Responsabilidade bem definida
Resumo da aula para nunca mais esquecer
- Projetos organizados são mais fáceis de manter
- Cada arquivo deve ter uma responsabilidade
main.jsé o ponto de entrada- Separar por lógica deixa o código limpo
- Organização é sinal de maturidade técnica
Na próxima aula, vamos fechar esse bloco falando sobre boas práticas de código.
HARDWARE
Entendendo o seu computador
O que há dentro do meu computador?
Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.
Você Sabia?
Ultima Online
Criar um jogo é muito mais complexo do que parece. São milhares, às vezes, milhões de linhas de código. Isso não é exagero! Apenas o jogo Ultima Online possui 6.006.313 linhas de programação, totalizando 25.103.295 palavras
Tetris
O título Tetris detém o recorde de jogo mais adaptado de todos os tempos. No total foram mais de 60 plataformas diferentes que receberam alguma versão do quebra-cabeças criado por Alexey Pajitnov. Conheça mais sobre este incrível jogo clicando aqui.
Asteroids
O título Asteroids, do Atari, possui recorde de pontuação há 30 anos. Em 1982 um americano chamado Scott Safran atingiu a marca de 41.336.440. Atualmente ele faz parte de um minúsculo grupo de jogadores que conseguiram manter seus recordes por mais de 30 anos.
Civilization
A empresa Take-Two pagou à Infogrames mais de 22 milhões de dólares pelos direitos de Civilization, em novembro de 1994. Ainda sobre este título, Sid Meier, um dos seus fundadores, é o profissional da área dos games mais premiado em todo o mundo.
Senhas
Digitar senhas em computadores de uso coletivo é extremamente perigoso, pois além de softwares de monitoramento, existem dispositivos de hardware que podem capturar suas senhas. Evite ao máximo acessar sites de bancos a partir destes computadores. Veja mais aqui.










