Formulário de Cadastro com API
Situação
Eu buscava aprofundar meus conhecimentos em desenvolvimento web full-stack, focando em Node.js, APIs RESTful, MongoDB e React. Sentia a necessidade de um projeto prático para consolidar o aprendizado desses conceitos.
Tarefa
Meu objetivo era desenvolver uma API RESTful completa para gerenciamento de usuários, com funcionalidades CRUD (Criar, Ler, Atualizar e Deletar). Além disso, queria criar um frontend interativo em React para consumir a API.
Ação
Dividi o projeto em duas partes: backend e frontend.
Backend (Node.js):
-- Utilizei Node.js e Express.js para criar a API RESTful.
-- Escolhi o MongoDB como banco de dados NoSQL.
-- Usei o Mongoose para facilitar a interação com o MongoDB.
-- Implementei endpoints para operações CRUD:
------ POST /users: Cria um novo usuário.
------ GET /users: Lista todos os usuários.
------ DELETE /users/:id: Deleta um usuário específico.
-- Realizei validação de dados e lógica de negócios no backend.
Frontend (React):
-- Desenvolvi uma interface de usuário interativa com React.
-- Consumi a API RESTful do backend para realizar as operações CRUD.
-- Criei um formulário de cadastro e uma lista para exibir os usuários.
-- Implementei botões de exclusão para cada usuário na lista.
Fluxo de Funcionamento:
Cadastro: O frontend envia dados para o backend, que valida e salva no MongoDB.
Listagem: O frontend requisita a lista de usuários do backend e exibe na tela.
Exclusão: O frontend envia uma requisição para o backend, que remove o usuário do MongoDB.
Resultado
-- O projeto me permitiu consolidar conhecimentos em:
------ Desenvolvimento de APIs RESTful com Node.js e Express.js.
------ Integração de frontend com backend.
------ Utilização do MongoDB como banco de dados NoSQL.
------ Manipulação de dados com Mongoose.
------ Desenvolvimento de interfaces de usuário com React.
------ Conceitos básicos de CRUD.
-- O projeto serviu como uma base sólida para aprofundar meu conhecimento em desenvolvimento web full-stack.
-- O resultado final foi um sistema funcional, que possibilita a criação, leitura e exclusão de usuários, de forma interativa.
Conclusão
A divisão do projeto em backend e frontend demonstra uma boa prática de arquitetura de software. O uso de tecnologias modernas como Node.js, MongoDB e React demonstra minha atualização com as tendências do mercado. A explicação do fluxo de funcionamento torna o projeto de fácil entendimento.