Skip to content

leonard0antonio/NodeCRUD-API

Repository files navigation

Introdução

  • Nome do projeto: NodeCRUD-API.
  • Contexto: O projeto faz parte do desenvolvimento de competências em desenvolvimento Full Stack, focando na integração entre um frontend moderno e um backend escalável.
  • Objetivo principal: Criar uma aplicação completa de cadastro de usuários que permita realizar todas as operações fundamentais de um sistema: Criar, Ler, Atualizar e Deletar (CRUD).
  • Detalhes relevantes: Este projeto destaca-se pela utilização do Prisma ORM para gerenciar a comunicação com um banco de dados MongoDB, demonstrando uma transição prática para tecnologias de ponta no ecossistema JavaScript.

Principais Funcionalidades do Projeto

Com base no código-fonte e na estrutura do repositório, as funcionalidades principais incluem:

  • Cadastro de Usuários: Interface que permite ao usuário inserir nome, idade e e-mail para criar um novo registro no banco de dados.
  • Listagem em Tempo Real: Após o cadastro ou qualquer alteração, a lista de usuários é atualizada automaticamente, buscando os dados mais recentes da API.
  • Edição de Dados: Funcionalidade que carrega as informações de um usuário existente de volta ao formulário para que possam ser modificadas e salvas.
  • Exclusão de Registros: Um botão de ação que permite remover usuários permanentemente do sistema através de seu ID único.
  • Comunicação Frontend-Backend: Integração fluida utilizando a biblioteca Axios para realizar requisições HTTP para o servidor Node.js.

Tecnologias Utilizadas

O projeto utiliza uma stack tecnológica moderna e eficiente:

  • React (Frontend): Framework utilizado para construir a interface de usuário de forma componentizada e reativa.
  • Vite: Ferramenta de build que proporciona um ambiente de desenvolvimento extremamente rápido com Hot Module Replacement (HMR).
  • Node.js & Express (Backend): Plataforma e framework utilizados para criar o servidor e gerenciar as rotas da API (GET, POST, PUT, DELETE).
  • Prisma ORM: Ferramenta que facilita a modelagem de dados e a comunicação com o banco de dados através de um cliente tipado.
  • MongoDB: Banco de dados NoSQL utilizado para persistir as informações dos usuários.
  • CORS: Middleware essencial no Express para permitir que o frontend (Vite) acesse os recursos do backend em uma porta diferente.

Aparência e Interatividade

Demo da aplicação

Lições Aprendidas

  • Gerenciamento de Estado e Referências: Uso prático de hooks como useState, useEffect e useRef para controlar o ciclo de vida do componente e capturar dados de inputs de forma eficiente.
  • Modelagem de Dados NoSQL: Aprendizado sobre como estruturar modelos no Prisma para MongoDB, incluindo a geração automática de IDs e mapeamento de campos.
  • Integração Full Stack: Compreensão profunda de como conectar as duas pontas da aplicação, lidando com problemas comuns como permissões de CORS e conversão de tipos de dados (ex: converter idade de string para número).

Conclusão

O projeto NodeCRUD-API representa um marco importante no desenvolvimento de habilidades Full Stack. A superação de desafios técnicos, como a configuração do Prisma com MongoDB e a sincronização de estados entre o frontend e a API, resultou em uma aplicação funcional e bem estruturada. A conclusão deste projeto reflete a capacidade de construir soluções completas que seguem as melhores práticas da indústria atual.

About

O **NodeCRUD-API** é um gerenciador de usuários Full Stack que realiza operações de CRUD, desenvolvido para consolidar a integração entre React, MongoDB e Prisma.

Topics

Resources

Stars

Watchers

Forks

Contributors