Backend

Image by storyset on Freepik
O Que é Backend?
O backend é o "cérebro" da aplicação web - a parte que acontece nos bastidores, no servidor. Enquanto o frontend é o que o usuário vê e interage, o backend é responsável por toda a lógica, processamento de dados, segurança, e comunicação com bancos de dados.
Pense no backend como a cozinha de um restaurante. O cliente (frontend) vê apenas o menu e o prato final, mas toda a preparação, organização, e trabalho complexo acontece na cozinha (backend).
Responsabilidades do Desenvolvedor Backend
1. Construir APIs
APIs (Application Programming Interfaces) são interfaces que permitem a comunicação entre frontend e backend:
// Exemplo de endpoint de API (Node.js/Express)
app.get('/api/usuarios/:id', async (req, res) => {
const usuario = await database.findUsuarioById(req.params.id);
res.json(usuario);
});
app.post('/api/usuarios', async (req, res) => {
const novoUsuario = await database.createUsuario(req.body);
res.json(novoUsuario);
});
2. Gerenciar Bancos de Dados
Armazenar, recuperar, atualizar e deletar dados:
-- SQL para buscar usuários
SELECT * FROM usuarios WHERE ativo = true;
-- SQL para criar novo usuário
INSERT INTO usuarios (nome, email, senha_hash)
VALUES ('João', 'joao@email.com', '$2b$10$...');
3. Implementar Autenticação e Autorização
Garantir que usuários são quem dizem ser e têm permissões corretas:
// Middleware de autenticação
function verificarToken(req, res, next) {
const token = req.headers.authorization;
if (!token) {
return res.status(401).json({ erro: 'Não autorizado' });
}
try {
const usuario = jwt.verify(token, SECRET_KEY);
req.usuario = usuario;
next();
} catch (erro) {
res.status(401).json({ erro: 'Token inválido' });
}
}
4. Processar Lógica de Negócio
Implementar regras e processos complexos:
function calcularDesconto(usuario, valorCompra) {
let desconto = 0;
if (usuario.categoria === 'premium') {
desconto = 0.15; // 15%
} else if (valorCompra > 100) {
desconto = 0.10; // 10%
}
return valorCompra * (1 - desconto);
}