đ Criando nosso primeiro servidor com Node.js: do zero Ă estrutura profissional
- #Node.js
- #JavaScript e Testes
- #API Rest
Quem estĂĄ começando no Node.js costuma esbarrar sempre na mesma dĂșvida:
âPor onde eu começo?â
Neste guia, vou mostrar o caminho correto, seguindo boas prĂĄticas usadas no mercado, para criar um servidor Node.js organizado, escalĂĄvel e fĂĄcil de manter.
Sem mĂĄgica. Sem gambiarra. Do jeito certo.
đ§ Antes de tudo: o que estamos construindo?
Vamos criar:
- Um servidor Node.js
- Utilizando Express
- Com rotas bem definidas
- Controllers separados
- Estrutura organizada desde o inĂcio
Esse modelo é amplamente usado em APIs REST e projetos reais de produção.
đ Passo 1: Inicializando o projeto
No terminal, crie a pasta do projeto e inicialize o Node:
mkdir meu-servidor-node
cd meu-servidor-node
npm init -y
Isso cria o arquivo package.json, que é o coração do projeto.
đŠ Passo 2: Instalando as dependĂȘncias
Vamos instalar o Express, o framework mais usado para servidores Node:
npm install express
Para desenvolvimento, Ă© recomendĂĄvel usar o nodemon, que reinicia o servidor automaticamente:
npm install --save-dev nodemon
đ§± Passo 3: Criando a estrutura de pastas
Organização nĂŁo Ă© luxo, Ă© sobrevivĂȘncia no mercado.
Estrutura recomendada:
src/
âââ controllers/
âââ routes/
âââ app.js
âââ server.js
Essa separação deixa claro:
- Quem recebe a requisição
- Quem processa a lĂłgica
- Quem responde
âïž Passo 4: Criando o servidor
Arquivo server.js:
const app = require('./app');
const PORT = 3000;
app.listen(PORT, () => {
console.log(`Servidor rodando na porta ${PORT}`);
});
Aqui sĂł cuidamos de subir o servidor. Nada mais.
đ§ Passo 5: Configurando o app
Arquivo app.js:
const express = require('express');
const routes = require('./routes');
const app = express();
app.use(express.json());
app.use(routes);
module.exports = app;
Esse arquivo centraliza:
- Middlewares
- Rotas
- ConfiguraçÔes globais
đ§ Passo 6: Criando nossas rotas
Arquivo routes/index.js:
const express = require('express');
const router = express.Router();
const exampleController = require('../controllers/exampleController');
router.get('/status', exampleController.status);
module.exports = router;
Aqui definimos o caminho, nĂŁo a lĂłgica.
đŻ Passo 7: Criando o controller
Arquivo controllers/exampleController.js:
exports.status = (req, res) => {
return res.status(200).json({
message: 'Servidor rodando com sucesso đ'
});
};
O controller Ă© responsĂĄvel por:
- Regra de negĂłcio
- Validação
- Resposta da API
â Validação: por que separar tudo isso?
Separar responsabilidades traz benefĂcios reais:
- CĂłdigo mais legĂvel
- Testes mais fĂĄceis
- Menos bugs
- Manutenção simples
Ă assim que times profissionais trabalham.
đ Boas prĂĄticas desde o inĂcio
Algumas regras de ouro:
- Nunca misture lĂłgica com rotas
- Controllers nĂŁo devem acessar diretamente o servidor
- Nomeie arquivos de forma clara
- Use padrĂŁo REST
- Versione tudo com Git
Projeto pequeno também merece código limpo.
đŁïž SequĂȘncia correta para iniciar projetos Node
Sempre siga esta ordem:
- Inicializar projeto (
npm init) - Instalar dependĂȘncias
- Definir estrutura
- Criar servidor
- Criar rotas
- Criar controllers
- Testar endpoints
- SĂł depois pensar em banco, auth e testes
Pular etapas gera dĂvida tĂ©cnica.
đŻ Onde isso Ă© usado na prĂĄtica?
Esse padrĂŁo Ă© base para:
- APIs REST
- Automação de testes
- Testes de API (QA)
- Microserviços
- Back-end de aplicaçÔes modernas
Quem domina essa base, aprende o resto com muito mais facilidade.
đ§ ConclusĂŁo
Node.js nĂŁo Ă© sĂł tecnologia â Ă© mentalidade.
Começar organizado economiza tempo, evita retrabalho e mostra maturidade técnica.
đ Estou aplicando esse padrĂŁo em estudos e projetos voltados a APIs e automação de testes, sempre focando em boas prĂĄticas e aprendizado contĂnuo.
Se vocĂȘ estĂĄ começando no Node ou quer revisar fundamentos, esse Ă© o caminho.



