Skip to content
JulianeM edited this page Aug 15, 2025 · 4 revisions

Seja bem-vido a Wiki do Code Architectures!

Nesta Wiki, irei explicar alguns conceitos de tecnologias e arquitetura utilizadas no desenvolvimento dos projetos.

Projetos

Projeto Usuários - PetStore

Este projeto foi desenvolvido em Java com Spring Boot. Ele implementa a parte de Usuários do modelo PetStore, que você pode visualizar no Swagger Editor.

Tecnologias Utilizadas

  • Java 21 – Linguagem principal do projeto.
  • Spring Boot 3.5.4 – Framework para criação de aplicações Java de forma mais rápida e organizada.
  • Docker – Usado para criar e executar containers, facilitando a configuração e execução do projeto.

Banco de Dados

  • Elasticsearch – Banco de dados orientado a documentos, otimizado para buscas rápidas e análises de dados.

Arquitetura

  • CQRS (Command Query Responsibility Segregation) – Padrão que separa operações de escrita (Command) e leitura (Query) em componentes diferentes. Isso ajuda na organização do código e na escalabilidade.
  • DDD (Domain-Driven Design) – Estilo de arquitetura que organiza o código baseado no domínio do negócio, separando responsabilidades em camadas bem definidas (entidades, serviços, repositórios, etc.).

Fluxo de Arquitetura

---
title Fluxo de Arquitetura - Projeto Usuários PetStore
---
flowchart TB
    subgraph Command[Command - Escrita]
        C1[Criar Usuário]
        C2[Atualizar Usuário]
        C3[Excluir Usuário]
    end
    subgraph Query[Query - Leitura]
        Q1[Buscar Usuário por ID]
        Q2[Listar Usuários]
    end    
    subgraph DB[Elasticsearch <br> Banco de Dados]
        E1[(Documentos de Usuários)]
    end
    subgraph DDD[Camadas DDD]
        D1[Domínio <br> Entidades, Value Objects]
        D2[Aplicação <br> Casos de Uso]
        D3[Infraestrutura <br> Acesso ao DB, APIs externas]
    end

    %% Ligações CQRS
    C1 --> D2
    C2 --> D2
    C3 --> D2
    Q1 --> D2
    Q2 --> D2

    %% Camadas DDD
    D2 --> D1
    D3 --> DB
    D2 --> D3

    %% Banco de dados
    %% DB --> E1
Loading

Gerenciamento de Estoque de Produtos


Sistema de Checkout de Pedidos


Referências