Este projeto é um sistema completo para o gerenciamento de cadastros de pessoas, construído como uma aplicação de página única (SPA - Single-Page Application) moderna e eficiente.
Foi desenvolvido com TypeScript desde o início para garantir um código mais organizado e livre de erros comuns, assegurando que todas as partes do sistema se comuniquem de forma correta e previsível. A aplicação utiliza o React Router para uma navegação fluida entre as páginas e o Tailwind CSS para um design limpo e responsivo.
Os dados são consumidos de uma API REST (desenvolvida em Delphi/Horse), demonstrando a integração completa entre um front-end moderno e um back-end robusto.
- Desenvolvimento com TypeScript: Código mais limpo e organizado, facilitando a manutenção e prevenindo bugs antes mesmo de o programa rodar.
- Navegação via Rotas: Estrutura de rotas com
React Router
para uma experiência de SPA fluida entre as telas de listagem e formulários. - CRUD Completo: Implementação de todas as operações: Criar, Ler, Atualizar e Deletar registros.
- Design Responsivo: Interface estilizada com Tailwind CSS, que se adapta a diferentes tamanhos de tela.
- Componentização: A interface foi totalmente estruturada em componentes reutilizáveis, seguindo as melhores práticas do
React
. - Comunicação com API: Integração com o back-end para persistência dos dados, com tratamento de estados de loading e erro.
- Linguagem Principal:
TypeScript
- Biblioteca Front-End:
React.js
(com Hooks) - Roteamento:
React Router
- Estilização:
Tailwind CSS
- Ambiente/Build:
Vite
- Requisições HTTP:
Axios
- API Consumida: Back-end próprio em
Delphi/Horse
-
Clone o repositório para sua máquina local:
git clone [https://github.com/diego-gpereira/react-crud-typescript.git](https://github.com/diego-gpereira/react-crud-typescript.git)
-
Navegue até a pasta do projeto:
cd react-crud-typescript
-
Instale as dependências necessárias:
npm install
-
Execute a aplicação em modo de desenvolvimento:
npm run dev
-
Abra seu navegador e acesse
http://localhost:5173
(ou a porta indicada no terminal).