Um sistema completo de cadastro de usuários desenvolvido com Java Spring Boot no backend e React + Vite no frontend.
Este projeto demonstra uma arquitetura full-stack moderna com separação clara entre frontend e backend, implementando boas práticas de desenvolvimento web como:
- API REST com CORS habilitado
- Validação de dados de entrada
- Componentes React reutilizáveis
- Comunicação via HTTP com Axios
- Interface responsiva com Bootstrap
O projeto segue a arquitetura em camadas:
cadastro-back/ → Backend (Spring Boot)
├── controller/ → Controladores REST
├── service/ → Lógica de negócio
├── model/ → Entidades JPA
└── repository/ → Acesso a dados
cadastro-front/ → Frontend (React + Vite)
├── components/ → Componentes React
├── services/ → Chamadas para a API
└── styles/ → Estilos CSS
-
API REST - Expõe endpoints para operações com usuários:
POST /api/usuarios- Criar novo usuárioGET /api/usuarios- Listar todos os usuários
-
Validação - Valida automaticamente os dados:
- Nome é obrigatório
- Email deve ser válido e único
- Senha é obrigatória
-
Banco de Dados - Persiste usuários em uma tabela
usuarios -
CORS - Permite requisições do frontend (http://localhost:5173)
- Página Inicial - Tela de boas-vindas com navegação
- Cadastro de Usuários - Formulário para criar novos usuários
- Lista de Usuários - Exibe todos os usuários cadastrados
- Integração com API - Comunicação via Axios com o backend
- Java 17+
- Node.js 18+
- Maven
- Git
- Navegue até a pasta do backend:
cd cadastro-back- Instale as dependências e execute:
mvn spring-boot:runO backend estará disponível em http://localhost:8080
- Navegue até a pasta do frontend:
cd cadastro-front- Instale as dependências:
npm install- Execute em modo desenvolvimento:
npm run devO frontend estará disponível em http://localhost:5173
- Spring Boot 3.4.0
- Spring Data JPA
- Jakarta Validation
- Lombok
- React 18.3.1
- React Router DOM 7.0.2
- Axios 1.7.9
- Bootstrap 5.3.3
- Vite 6.0.1
| Método | Endpoint | Descrição |
|---|---|---|
| POST | /api/usuarios |
Cria um novo usuário |
| GET | /api/usuarios |
Lista todos os usuários |
{
"nome": "João Silva",
"email": "joao@example.com",
"senha": "senha123"
}{
"id": 1,
"nome": "João Silva",
"email": "joao@example.com",
"senha": "senha123"
}- Backend: Java 17, Spring Boot 3.4, Spring Data JPA, Jakarta Validation
- Frontend: React, JavaScript ES6+, Vite, React Router, Axios
- Estilo: Bootstrap 5, CSS3
- Build: Maven (Backend), Vite (Frontend)
Este projeto é licenciado sob a MIT License - veja o arquivo LICENSE para detalhes.
Para informações mais detalhadas sobre o desenvolvimento do projeto, consulte: