https://github.com/natsalete/projeto-em-java-web-carros
Sistema web em Java com Spring Boot para gerenciamento de carros, com funcionalidades de cadastro, edição, exclusão e listagem, autenticação de usuários e controle de acesso por perfis.
https://github.com/natsalete/projeto-em-java-web-carros
crud java lombok mvc mysql spring-security springboot testes web
Last synced: about 1 month ago
JSON representation
Sistema web em Java com Spring Boot para gerenciamento de carros, com funcionalidades de cadastro, edição, exclusão e listagem, autenticação de usuários e controle de acesso por perfis.
- Host: GitHub
- URL: https://github.com/natsalete/projeto-em-java-web-carros
- Owner: natsalete
- License: mit
- Created: 2025-04-06T21:25:46.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-08-13T18:45:58.000Z (10 months ago)
- Last Synced: 2025-10-28T09:37:39.999Z (7 months ago)
- Topics: crud, java, lombok, mvc, mysql, spring-security, springboot, testes, web
- Language: HTML
- Homepage:
- Size: 82 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Projeto Java Web - Gerenciamento de Carros




## Descrição
Este projeto é um sistema web desenvolvido em **Java** com **Spring Boot** para gerenciamento de carros. Ele oferece funcionalidades completas de **CRUD** (Criar, Ler, Atualizar e Excluir) de carros, além de autenticação e controle de acesso para diferentes perfis de usuário.
O projeto inclui:
- Cadastro, edição, exclusão e listagem de carros.
- Interface web com validações de campos e mensagens de erro.
- Controle de acesso baseado em perfis (admin e usuário).
- Segurança com **Spring Security**.
- Testes de unidade e integração.
- Banco de dados **MySQL** para persistência.
## Funcionalidades
- **Carros**
- Cadastrar novos carros
- Listar todos os carros
- Editar carros existentes
- Excluir carros
- **Segurança**
- Login com autenticação
- Controle de acesso baseado em papéis
- Página de acesso negado
- **Interface**
- Navegação entre páginas com cabeçalho e rodapé reutilizáveis
- Validação de formulários e exibição de mensagens de erro
- **Testes**
- Testes unitários da camada web
- Testes de integração com banco H2 (para testes)
## Configuração do Banco de Dados
Antes de rodar o projeto, é necessário criar o banco de dados **MySQL** e configurar o arquivo `application.properties`:
1. Crie o banco de dados no MySQL:
```sql
CREATE DATABASE carros;
```
2. Configure o arquivo `src/main/resources/application.properties` com suas credenciais:
```properties
spring.application.name=carros
spring.datasource.url=jdbc:mysql://localhost:3306/carros?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.hibernate.ddl-auto=update
# spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
```
>⚠️ Ajuste `username` e `password` conforme seu usuário do MySQL.
## Como Rodar
1. Clone o repositório:
```bash
git clone https://github.com/natsalete/Projeto-em-Java-Web-Carros.git
```
2. Abra o projeto na sua IDE favorita (IntelliJ, Eclipse, VS Code).
3. Certifique-se de que o MySQL está rodando e o banco `carros` existe.
4. Execute a aplicação:
```bash
mvn spring-boot:run
```
ou, se estiver usando Gradle:
```bash
./gradlew bootRun
```
5. Acesse a aplicação em:
```bash
http://localhost:8080
```
## Estrutura do Projeto
- **model:** Classes de entidades (Usuario, Carro)
- **repository:** Interfaces para persistência
- **service:** Lógica de negócio.
- **controller:** Endpoints e controle das páginas web.
- **security:** Configuração de segurança e roles.
- **tests:** Testes unitários e de integração.
## Licença
Este projeto está licenciado sob os termos da **Licença MIT**.
Você pode utilizar, modificar e distribuir este código livremente, desde que mantenha os créditos originais.
📄 [Clique aqui para ler a Licença MIT](https://opensource.org/licenses/MIT)