Projeto Completo Node.js: Simulador de Veículos com Express e JSON
Você não precisa começar utilizando MySQL ou PostgreSQL para aprender como uma aplicação salva informações.
Antes de trabalhar com bancos de dados, é importante entender como acontece a comunicação entre o Front-End e o Back-End e como os dados podem ser persistidos utilizando um arquivo JSON.
Neste projeto vamos desenvolver um simulador de financiamento de veículos utilizando JavaScript, Node.js, Express e JSON, criando uma aplicação completa capaz de calcular parcelas e salvar informações no servidor.
🎥 Assista à aula completa no YouTube:
https://youtube.com/live/woPjvLXYsQw
O que vamos construir
Durante o projeto desenvolvemos um sistema capaz de:
- cadastrar um veículo;
- informar ano de fabricação;
- calcular entrada;
- calcular parcelas;
- classificar o veículo como novo, seminovo ou usado;
- enviar os dados para o servidor;
- salvar tudo em um arquivo JSON.
Embora pareça simples, esse projeto reúne diversos conceitos utilizados diariamente por desenvolvedores Full Stack.
Tecnologias utilizadas
- HTML
- CSS
- JavaScript
- Node.js
- Express
- JSON
- Fetch API
- File System (fs)
Como funciona o fluxo da aplicação
O usuário preenche o formulário no navegador.
O JavaScript captura essas informações, cria um objeto e envia os dados utilizando a Fetch API para o servidor Node.js.
O Express recebe a requisição, processa as informações e utiliza o módulo fs para gravar os dados em um arquivo JSON.
O fluxo fica assim:
Front-End
↓
Fetch API
↓
Express
↓
Node.js
↓
Arquivo JSON
Entender esse fluxo é muito mais importante do que simplesmente decorar código.
Criando o servidor com Express
O primeiro passo foi configurar um servidor utilizando Express.
Também configuramos:
- express.json()
- express.static()
- rota POST
- porta do servidor
Esses recursos permitem que o Front-End consiga enviar dados para o Back-End.
Recebendo os dados
Quando o usuário envia o formulário, o servidor recebe um objeto contendo informações como:
- modelo
- ano
- preço
- classificação
- entrada
- parcela
Esses dados chegam através do corpo da requisição utilizando JSON.
Salvando informações em JSON
Ao invés de utilizar um banco de dados, utilizamos um arquivo dados.json.
Para isso usamos o módulo fs do Node.js.
Primeiro lemos o arquivo existente.
Depois adicionamos o novo objeto.
Por fim gravamos novamente o arquivo atualizado.
Esse processo ajuda muito quem está começando a entender persistência de dados antes de aprender bancos relacionais.
Calculando parcelas
Além da comunicação entre Front-End e Back-End, o projeto também implementa regras de negócio.
Dependendo do ano do veículo, o sistema identifica se ele é:
- Novo
- Seminovo
- Usado
Com base nessa classificação são calculados:
- valor da entrada;
- valor financiado;
- parcelas.
Isso demonstra como o JavaScript pode ser utilizado para implementar regras reais de uma aplicação.
Comunicação entre Front-End e Back-End
Depois de calcular os valores, utilizamos a Fetch API para enviar os dados para o servidor.
A requisição utiliza o método POST, enviando o objeto no formato JSON.
Esse é exatamente o mesmo conceito utilizado em APIs REST modernas.
Por que aprender dessa forma?
Muitos iniciantes começam diretamente aprendendo MySQL ou PostgreSQL.
Mas antes disso é importante compreender:
- como os dados saem do navegador;
- como chegam ao servidor;
- como são processados;
- como são armazenados.
Quando esse processo fica claro, aprender bancos de dados torna-se muito mais simples.
O que você aprendeu
Ao finalizar este projeto você terá praticado:
- Node.js
- Express
- JavaScript
- Objetos
- Arrays
- JSON
- Fetch API
- Rotas POST
- File System (fs)
- Manipulação do DOM
- Front-End
- Back-End
- Projeto Full Stack
Todos esses conceitos aparecem diariamente no desenvolvimento de aplicações web.
Conclusão
Projetos práticos são uma das melhores formas de evoluir na programação.
Mais importante do que decorar comandos é entender como as diferentes partes da aplicação trabalham juntas.
Neste projeto você viu desde a criação do servidor até o salvamento dos dados, entendendo todo o caminho percorrido pelas informações dentro de uma aplicação Node.js.
Esse conhecimento será a base para projetos maiores utilizando bancos de dados como MySQL, PostgreSQL ou MongoDB.
Continue praticando, faça melhorias no projeto e publique o resultado no GitHub para fortalecer seu portfólio.


