Skip to content

jennyffermorais/RESTfull-API-hexagonal-architecture

Repository files navigation

 

Restfull Api Hexagonal Architecture

Principal linguagem do projeto Quantidade de linguagens utilizadas Tamanho do repositório

Sobre   |   Funcionalidades   |   Tecnologias   |   Documentação   |   Como Executar   |   Equipe


🎯 Sobre

Projeto desenvolvido como requisito para aprovação na primeira fase da Pós-graduação em Software Architecture na instituição de ensino Fiap.

Em síntese, este projeto foi desenvolvido para atender aos requisitos de um sistema de backend monolítico que gerencia pedidos e pagamentos, bem como a preparação e entrega de pedidos. O projeto utiliza a Arquitetura Hexagonal e segue os padrões de Domain-Driven Design (DDD), conforme apresentado nas aulas.

✨ Funcionalidades

✔️ Cadastro do Cliente: APIs para criar, editar e remover clientes, além de identificar clientes via CPF;
✔️ Gestão de Produtos: APIs para criar, editar, remover produtos e buscar produtos por categoria;
✔️ Fake Checkout: API para enviar produtos escolhidos para a fila, simulando a finalização do pedido;
✔️ Listagem de Pedidos: API para listar todos os pedidos;
✔️ Swagger: Disponibilização do Swagger para consumo das APIs.

🚀 Tecnologias

As seguintes ferramentas foram usadas na construção do projeto:

  • TypeScript e Node.js para o desenvolvimento da aplicação.
  • Express como framework web.
  • Arquitetura Hexagonal para organização do código.
  • Swagger para documentação das APIs.
  • Docker e Docker Compose para contêinerização da aplicação.
  • MySQL como banco de dados.

✅ Documentação

A documentação do sistema foi desenvolvida seguindo os princípios de DDD com Event Storming, incluindo todos os tipos de diagrama apresentados na aula 6 do módulo de DDD.

Fluxos Documentados

  1. Realização do Pedido e Pagamento
  2. Preparação e Entrega do Pedido

Os diagramas foram desenhados seguindo os padrões explicados na aula e utilizando a linguagem ubíqua e, podem ser visualizados no nosso MIRO.

🏁 Como Executar

Pré-requisitos

  • Docker e Docker Compose instalados na máquina.

Passos para Execução

  1. Clone este repositório para sua máquina local.

    git clone https://github.com/jennyffermorais/RESTfull-API-hexagonal-architecture.git
    cd RESTfull-API-hexagonal-architecture
  2. Configure as variáveis de ambiente. Crie um arquivo .env com as seguintes variáveis:

     MYSQL_ROOT_PASSWORD=mysql
     MYSQL_PASSWORD=jm_password
     MYSQL_DATABASE=tech_challenge_BD
     MYSQL_USER=jm_user
     MYSQL_HOST=mysql-db
     MYSQL_PORT=3306
     APP_PORT=3000
  3. Compile e construa a aplicação usando Docker.

    docker-compose up --build
  4. Acesse o Swagger para testar as APIs.

    • O Swagger estará disponível em http://localhost:3000/docs.

Banco de Dados

A aplicação está configurada para utilizar MySQL conforme especificado no arquivo docker-compose.yml.

📝 Equipe 43

 

Voltar para o topo

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •