2 min read

Sistema de Gerenciamento de Pedidos

Table of Contents

Este projeto é um sistema de gerenciamento de pedidos desenvolvido em TypeScript, focado na implementação da Arquitetura Hexagonal (Ports and Adapters). O objetivo principal é demonstrar uma aplicação robusta, escalÔvel e de fÔcil manutenção, desacoplando a lógica de negócio das tecnologias de infraestrutura e interfaces externas.

Principais Tecnologias

  • TypeScript (linguagem principal)
  • Node.js (ambiente de execução)
  • Express.js (framework web para a camada de interface HTTP)
  • Prisma ORM (para persistĆŖncia de dados)
  • RabbitMQ (para mensageria e eventos assĆ­ncronos)
  • Vitest (framework de testes)
  • ESLint (para padronização de código)

Funcionalidades

  • Criação de Pedidos: Permite a criação de novos pedidos.
  • Adição de Itens: Funcionalidade para adicionar itens a um pedido existente.
  • CĆ”lculo de Total: CĆ”lculo automĆ”tico do valor total do pedido, incluindo lógica de desconto.
  • Atualização de Status: Gerenciamento do ciclo de vida do pedido atravĆ©s de atualizaƧƵes de status.
  • Gerenciamento de Eventos de DomĆ­nio: Utilização de eventos para comunicação entre contextos e integração com serviƧos externos (ex: estoque, notificação).
  • Integração com ServiƧos Externos: Adaptação para serviƧos de estoque, notificação e cĆ”lculo de desconto.

Objetivo

O projeto serve como um estudo de caso e demonstração prÔtica dos princípios da Arquitetura Hexagonal, promovendo:

  • Desacoplamento: Separação clara entre o domĆ­nio e as camadas de infraestrutura/interface.
  • Testabilidade: Facilita a escrita de testes unitĆ”rios e de integração.
  • Manutenibilidade: Torna o sistema mais fĆ”cil de evoluir e adaptar a novas tecnologias.
  • Escalabilidade: Prepara a aplicação para crescer e lidar com maior complexidade.