Skip to content

Feature/backend domain#1

Merged
devflima merged 7 commits into
mainfrom
feature/backend-domain
May 5, 2026
Merged

Feature/backend domain#1
devflima merged 7 commits into
mainfrom
feature/backend-domain

Conversation

@devflima

@devflima devflima commented May 5, 2026

Copy link
Copy Markdown
Owner

Descrição

Este Pull Request introduz a Camada de Domínio do backend, seguindo os princípios de Clean Architecture e DDD (Domain-Driven Design).

Essa camada representa o coração da aplicação, contendo:

  • Entidades de negócio
  • Value Objects
  • Interfaces de repositório

Tudo isso mantendo-se totalmente agnóstico a frameworks e detalhes de infraestrutura.


Mudanças Realizadas

A implementação foi organizada por contextos de negócio, garantindo alta coesão:

1. Contexto de Usuários (users)

  • Entidade User
  • Enum Role (OWNER, ADMIN)
  • Value Object Password
  • Interface UserRepository

2. Contexto de Estatísticas (stats)

  • Entidade Stat (telemetria: uptime, commits, experiência)
  • Interface StatRepository

3. Contexto de Tecnologias (stacks)

  • Entidade Stack
  • Enum StackType (Backend, Frontend, DevOps, etc)
  • Interface StackRepository

4. Contexto de Conteúdo (contents)

  • Entidades:
    • Content
    • SectionContent
  • Interface ContentRepository

5. Contexto de Portfólio (projects, experience, educations)

  • Entidades voltadas à exibição do portfólio profissional e acadêmico
  • Interfaces de repositório correspondentes

6. Contexto de Mensagens (messages)

  • Entidade Message (formulário de contato + status)
  • Porta de saída:
    • MessageProducerPort (abstração de mensageria)

7. Shared Kernel (exceptions, security)

  • Exceções de domínio:
    • BusinessRuleException
    • EntityNotFoundException
  • Interfaces de segurança:
    • TokenGenerator
    • PasswordHasher

Decisões de Arquitetura

  • Dependência Inversa (DIP)
    A camada de domínio não possui dependências externas, respeitando a regra fundamental da Clean Architecture.

  • Interfaces de Repositório
    Definidas no domínio para serem implementadas posteriormente pela infraestrutura.

  • Validação de Domínio
    Regras básicas de integridade encapsuladas nas entidades.


✅ Checklist

  • O código segue as convenções do projeto
  • Nenhuma dependência de framework (ex: Quarkus, Hibernate) foi adicionada ao domínio
  • O projeto compila sem erros
  • As entidades refletem fielmente as regras de negócio

@devflima devflima self-assigned this May 5, 2026
@devflima devflima merged commit f18c664 into main May 5, 2026
@devflima devflima deleted the feature/backend-domain branch May 5, 2026 22:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants