PROJETO REACT FULL STACK
Blog

Como Criar um Sistema Completo com React, Node.js e MySQL | Projeto Full Stack

Se você está aprendendo React e Node.js, uma das maiores dúvidas é:

Como os dados saem do formulário, passam pela API e são salvos no banco de dados?

Neste projeto Full Stack vamos construir uma aplicação completa de agendamento, utilizando React no Front-end, Node.js e Express no Back-end e MySQL como banco de dados.

Mais importante do que decorar código, é entender como as tecnologias trabalham juntas.


Projeto funcionando

Antes de começar a codificar, é importante visualizar o resultado final.

O sistema permite:

  • Informar o nome do cliente.
  • Escolher o procedimento.
  • Definir data e horário.
  • Enviar os dados para uma API.
  • Salvar as informações no banco de dados MySQL.
  • Retornar uma mensagem de confirmação para o usuário.

Esse é um excelente projeto para quem quer entender como funciona uma aplicação Full Stack na prática.


Tecnologias utilizadas

React

No Front-end utilizamos:

  • JSX
  • Componentes
  • useState
  • Inputs controlados
  • Eventos
  • Fetch API

Node.js + Express

No Back-end utilizamos:

  • Express
  • Rotas POST
  • Funções assíncronas
  • JSON
  • Tratamento de erros

Banco de dados MySQL

No banco de dados utilizamos:

  • Tabela de agendamentos
  • INSERT
  • MySQL2
  • Create Connection

Estrutura do projeto

O projeto é dividido em duas partes:

Front-end

React responsável por:

  • Formulário
  • Captura dos dados
  • Comunicação com a API
  • Exibição das respostas

Back-end

Node.js responsável por:

  • Receber as informações
  • Processar os dados
  • Salvar no MySQL
  • Retornar uma resposta para o React

São dois servidores diferentes se comunicando entre si.


Instalando os pacotes

No Back-end utilizamos:

Express

Responsável pela construção da API.

MySQL2

Responsável pela comunicação com o banco de dados.

Cors

Permite que o Front-end consiga acessar o servidor Node.js.

Nodemon

Facilita o desenvolvimento reiniciando automaticamente o servidor.


Criando a API com Express

Criamos uma rota POST responsável por receber os dados do formulário:

  • Nome
  • Procedimento
  • Dia
  • Hora

Esses dados chegam através do JSON enviado pelo React.

Depois fazemos a desestruturação das informações para trabalhar com elas no servidor.


Conectando ao banco MySQL

Utilizamos o pacote mysql2 e criamos uma conexão com:

  • Usuário
  • Senha
  • Database

Depois disso, o Node.js passa a ter acesso ao banco de dados.


Inserindo os dados

Utilizamos um INSERT com parâmetros:

  • Nome
  • Procedimento
  • Dia
  • Hora

Essa abordagem evita SQL Injection e torna a aplicação mais segura.

Após salvar os dados, retornamos uma mensagem para o usuário.


Testando a API

Antes de conectar o React ao Back-end, utilizamos o Thunder Client.

Isso permite validar:

  • Se a rota está funcionando.
  • Se o banco está recebendo os dados.
  • Se a resposta está sendo retornada corretamente.

Essa etapa é muito importante para depurar aplicações.


Criando o formulário em React

No Front-end utilizamos useState para armazenar:

  • nome
  • procedimento
  • dia
  • hora
  • mensagem

Cada input é controlado pelo React através do onChange.


HandleSubmit e preventDefault

Criamos uma função handleSubmit para:

  • Impedir o comportamento padrão do formulário.
  • Capturar os dados.
  • Fazer a chamada da API.

Essa função é responsável por iniciar todo o fluxo do sistema.


Enviando os dados com Fetch API

Utilizamos:

  • método POST
  • headers
  • Content-Type application/json
  • JSON.stringify()

Os dados são enviados para o servidor Node.js.


Tratando a resposta da API

Após receber a resposta do servidor:

  • Se tudo estiver correto, mostramos a mensagem de sucesso.
  • Se ocorrer algum problema, exibimos uma mensagem de erro.

Isso melhora a experiência do usuário.


Criando os componentes

O projeto foi separado em componentes:

AgendamentoForm

Responsável pelo formulário.

Resposta

Responsável por exibir a mensagem retornada pela API.

Essa separação deixa o código mais organizado e facilita a manutenção.


Teste final

No final do projeto realizamos:

✅ Teste do formulário.

✅ Comunicação Front-end e Back-end.

✅ Inserção no banco MySQL.

✅ Validação dos dados.

✅ Confirmação do registro salvo.

Tudo funcionando em uma aplicação Full Stack completa.


O que você aprendeu

  • React
  • JSX
  • useState
  • Inputs controlados
  • Eventos
  • Fetch API
  • Node.js
  • Express
  • API REST
  • CORS
  • MySQL
  • Thunder Client
  • Comunicação Front-end + Back-end
  • INSERT no banco de dados
  • Componentização

Vídeo deste projeto

🎥 Assista ao vídeo:


Live completa (1h30)

📺 Live original:


Conclusão

Construir aplicações Full Stack não significa decorar centenas de comandos.

Significa entender como as peças se conectam.

React cuida da interface.

Node.js recebe as informações.

MySQL armazena os dados.

E juntos eles permitem criar sistemas reais.

Aqui no Desvendando o Código, a ideia não é apenas ensinar programação.

É ajudar você a entender como a tecnologia funciona.

Leave a Reply

Your email address will not be published. Required fields are marked *