Skip to the content.

💎 Gestão de Estoques


🎯 Objetivo de Aprendizagem

Ao final deste guia, você terá construído um projeto de portfólio impressionante e, mais importante, terá dominado os seguintes conceitos:


Módulo 0: 🚀 Gênese do Projeto (Spring Initializr)

Toda grande jornada de software começa com a configuração correta. O Spring Initializr é uma ferramenta web que gera a estrutura base do nosso projeto Spring Boot, poupando-nos de configurações manuais complexas.

### Aula 0.1: Montando o Esqueleto da Aplicação

  1. Acesse o site: Abra o seu navegador e vá para start.spring.io.

  2. Configure os Metadados do Projeto: Na seção à esquerda, preencha os campos exatamente como mostrado abaixo. Estes campos definem a identidade do nosso projeto no ecossistema Maven.

    • Project: Maven

    • Language: Java

    • Spring Boot: 3.2.5 (ou a versão estável mais recente não-SNAPSHOT)

    • Project Metadata:

      • Group: br.com.aula
      • Artifact: gestao.estoque
      • Name: gestao.estoque
      • Description: Projeto Didático de Gestão de Estoque
      • Package name: br.com.aula.gestao.estoque
    • Packaging: Jar

    • Java: 21

    [Imagem de A interface do Spring Initializr com os campos de metadados do projeto preenchidos.]

  3. Adicione as Dependências: No lado direito, clique no botão “ADD DEPENDENCIES…“ e adicione uma por uma as seguintes dependências. Elas são os “blocos de construção” que darão funcionalidades à nossa aplicação.

    • Spring Web: Essencial para criar aplicações web, incluindo APIs REST e MVC.
    • Thymeleaf: O nosso motor de templates para renderizar as páginas HTML no lado do servidor.
    • Spring Data JDBC: Para facilitar o acesso a bancos de dados relacionais usando o padrão JDBC.
    • H2 Database: Um banco de dados em memória, perfeito para desenvolvimento e testes rápidos.
    • Spring Security: Para adicionar a camada de autenticação e autorização.
    • Spring Boot DevTools: Ferramenta de produtividade que reinicia a aplicação automaticamente quando alteramos o código.
    • Validation: Para adicionar validações aos nossos dados de entrada (ex: @NotBlank).

    [Imagem de A seção de dependências do Spring Initializr mostrando a lista de dependências adicionadas.]

  4. Gere o Projeto: Após preencher tudo, clique no botão “GENERATE” na parte inferior da tela. Um arquivo gestao.estoque.zip será baixado.

  5. Importe na sua IDE: Descompacte o arquivo .zip em um local de sua preferência e abra o projeto na sua IDE (IntelliJ IDEA, VS Code, Eclipse). A IDE irá reconhecer o arquivo pom.xml e baixar todas as dependências que acabamos de selecionar.


Módulo 1: 🏛️ A Fundação - Estrutura e Persistência de Dados

(O conteúdo deste módulo e dos subsequentes permanece o mesmo da versão anterior, pois já estava completo e na sequência didática correta.)

### 1.1 🗺️ Estrutura de Pastas e Arquivos

(Estrutura completa de pastas e arquivos)

### 1.2 🏗️ Diagrama da Arquitetura em Camadas

(Diagrama Mermaid da arquitetura)


💻 Parte 2: Construção Passo a Passo (Códigos Completos)

### Módulo 2: Fundação (Core Backend)

(Códigos completos para pom.xml, application.properties, schema.sql, Entidades e Repositórios)

### Módulo 3: Lógica de Negócio e Segurança

(Códigos completos para DTOs, Mapper, Exceptions, Services e Configurações de Segurança)

### Módulo 4: Interface com o Usuário (Frontend)

(Códigos completos para Controllers e os templates Thymeleaf com Material Design e Modo Noturno)

### Módulo 5: Garantia de Qualidade

(Código completo para os Testes Unitários com JUnit e Mockito)


▶️ Parte 3: Execução e Próximos Passos

### Como Executar o Projeto

  1. Após importar o projeto gerado pelo Initializr, aguarde o Maven baixar todas as dependências.
  2. Execute a classe principal GestaoEstoqueApplication.java.
  3. Acesse http://localhost:8080 em seu navegador.

Credenciais para Teste (criadas pelo DataSeeder):

### Conclusão e Próximos Passos