Skip to content

ProfLucasSousa/projeto-fullstack

Repository files navigation

Sistema de Cadastro Full-Stack

Um sistema completo de cadastro de usuários desenvolvido com Java Spring Boot no backend e React + Vite no frontend.

📋 Sobre o Projeto

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

🏗️ Arquitetura do Projeto

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

🔄 Como Funciona

Backend (Spring Boot)

  1. API REST - Expõe endpoints para operações com usuários:

    • POST /api/usuarios - Criar novo usuário
    • GET /api/usuarios - Listar todos os usuários
  2. Validação - Valida automaticamente os dados:

    • Nome é obrigatório
    • Email deve ser válido e único
    • Senha é obrigatória
  3. Banco de Dados - Persiste usuários em uma tabela usuarios

  4. CORS - Permite requisições do frontend (http://localhost:5173)

Frontend (React)

  1. Página Inicial - Tela de boas-vindas com navegação
  2. Cadastro de Usuários - Formulário para criar novos usuários
  3. Lista de Usuários - Exibe todos os usuários cadastrados
  4. Integração com API - Comunicação via Axios com o backend

🚀 Como Executar

Pré-requisitos

  • Java 17+
  • Node.js 18+
  • Maven
  • Git

Backend

  1. Navegue até a pasta do backend:
cd cadastro-back
  1. Instale as dependências e execute:
mvn spring-boot:run

O backend estará disponível em http://localhost:8080

Frontend

  1. Navegue até a pasta do frontend:
cd cadastro-front
  1. Instale as dependências:
npm install
  1. Execute em modo desenvolvimento:
npm run dev

O frontend estará disponível em http://localhost:5173

📦 Dependências Principais

Backend

  • Spring Boot 3.4.0
  • Spring Data JPA
  • Jakarta Validation
  • Lombok

Frontend

  • React 18.3.1
  • React Router DOM 7.0.2
  • Axios 1.7.9
  • Bootstrap 5.3.3
  • Vite 6.0.1

🔌 Endpoints da API

Método Endpoint Descrição
POST /api/usuarios Cria um novo usuário
GET /api/usuarios Lista todos os usuários

Exemplo de Requisição (POST)

{
  "nome": "João Silva",
  "email": "joao@example.com",
  "senha": "senha123"
}

💾 Modelo de Dados

Usuário

{
  "id": 1,
  "nome": "João Silva",
  "email": "joao@example.com",
  "senha": "senha123"
}

🛠️ Tecnologias Utilizadas

  • 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)

📄 Licença

Este projeto é licenciado sob a MIT License - veja o arquivo LICENSE para detalhes.

👨‍💻 Desenvolvimento

Para informações mais detalhadas sobre o desenvolvimento do projeto, consulte:

Releases

No releases published

Packages

 
 
 

Contributors