Go com Clean Architecture

📔 Sobre o Projeto

Aplicação desenvolvida no curso Pós Graduação Go Expert - Full Cycle na linguagem Go aplicando conceitos e técnicas de Clean Architecture.

✨ Funcionalidades

  • Criação de ordens de compra com id, preço, taxa e preço final.
  • Lista de ordens criadas
  • Manipulação de eventos

💻 Tecnologias Aplicadas

  • Go
  • Webserver
  • GraphQL
  • gRPC
  • RabbitMQ
  • Banco de Dados MySQL
  • Docker

▶️ Executando a aplicação

Para executar a aplicação localmente siga as instruções abaixo.

Pré-requisitos

Primeiramente é necessário que possua instalado as seguintes ferramentas: Go, Git e Docker. Além disto é bom ter um editor para trabalhar com o código como VSCode.

Instalação

  1. Faça uma cópia do repositório (HTTPS ou SSH)

    git clone https://github.com/flpnascto/clean-architecture-go
    git clone git@github.com:flpnascto/clean-architecture-go.git
  2. Acesse a pasta do repositório local e instale os pacotes necessários

    go mod tidy
  3. Inicializar o serviço do docker e executar o docker-compose

    docker compose up -d
  4. Executando as aplicações

    1. Execute as migrations com make migrate
    2. Acesse o diretório ./cmd/ordersystem
    3. Execute o comando go run main.go wire_gen.go
    4. O web server executa na port 8000
    5. O gRPC executa na porta 50051
    6. O GraphQL executa na porta 8080
    7. O RabbitMQ pode ser acessado na porta 15672