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?
PDP-1
O primeiro computador a conseguir rodar o jogo Spacewar era o PDP-1, que custava 120 mil dólares e pertencia ao Massachusetts Institute of Technology. O jogo demorou 200 horas para ser desenvolvido, em 1962, e seu criador foi um cientista da computação chamado Steve Russel.
Tetris
Desde o seu lançamento, em 1985, o fantástico jogo Tetris vende pelo menos 70 milhões de unidades por ano em todo o mundo! Os dados são oficiais e fornecidos pela THQ, uma das distribuidoras do título.
Cuidados com o notebook
Utilizar seu notebook em camas, sofás ou qualquer superfície macia pode obstruir as entradas e saídas de ar, elevando a temperatura e provocando danos a diversos componentes. Utilize-o sempre sobre uma superfície rígida. Saiba mais aqui.
Mario em Donkey Kong
O personagem Mario surgiu pela primeira vez no mundo dos games em um jogo chamado Donkey Kong, lançado em 1981. Mario, que naquela época se chamava Jumpman, não era o personagem principal do jogo, mas ele se tornaria um dos mais famosos personagens do mundo dos games. Saiba mais.
Duck Hunt
Ao completar o nível 99 do jogo Duck Hunt, para Nintendo, o jogo retorna ao primeiro nível, mas um bug impede que se acerte os patos neste recomeço. Este é um exemplo do que é chamado no mundo dos games de "Kill Screen".










