Skip to content

Este projeto é uma solução Full-Stack completa para gestão de pedidos de delivery, contendo simulador de compras, painel de parceiros, máquina de estados e testes de performance.

Notifications You must be signed in to change notification settings

MathCunha16/delivery-api-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Delivery API - Sistema de Gestão de Pedidos (Desafio Coco Bambu)

Bem-vindo ao repositório principal do Desafio Técnico para a vaga de Desenvolvedor. Este projeto é uma solução Full-Stack completa para gestão de pedidos de delivery, contendo simulador de compras, painel de parceiros, máquina de estados e testes de performance.

O ecossistema é dividido em duas aplicações principais, cada uma com sua própria documentação detalhada:


🐳 Como Executar o Projeto (Docker)

A maneira mais fácil e recomendada de rodar a aplicação é utilizando o Docker. Toda a infraestrutura (Banco de Dados PostgreSQL, API Java e Frontend React) foi conteinerizada para rodar com um único comando.

Pré-requisitos

  • Linux / macOS: Ter o docker e o docker-compose instalados.
  • Windows: Ter o Docker Desktop instalado e rodando em segundo plano.

Passo a Passo

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

  2. Renomeie o arquivo .env.example (localizado na raiz do projeto) para .env. Você pode manter as credenciais e variáveis padrão que já estão preenchidas nele.

  3. Abra o terminal na raiz do projeto (onde está o arquivo docker-compose.yml).

  4. Execute o comando de build e inicialização:

    No Linux/macOS ou Windows (PowerShell/CMD):

    docker compose up --build

Aviso Importante: A primeira execução pode levar alguns minutos. O Docker irá baixar as imagens base (Node, Eclipse Temurin Java, PostgreSQL), baixar todas as dependências do Gradle/NPM e compilar as aplicações. Nas próximas vezes, a inicialização será quase instantânea.

🌐 Acessando a Aplicação

Com os containers rodando, você pode acessar os serviços nos seguintes endereços:


💣 Testes de Carga (Gatling)

Este projeto inclui uma suíte robusta de testes de estresse para provar a resiliência da API sob cenários de alta concorrência.

Para rodar a injeção massiva de milhares de pedidos, mantenha os containers rodando, abra um novo terminal e navegue até a pasta /Backend:

  • Linux / macOS:
    ./gradlew gatlingRun
  • Windows:
    gradlew.bat gatlingRun

💡 Para ver os resultados de latência e P99, consulte o README do Backend.


Feito com ☕ por Matheus Cunha.

About

Este projeto é uma solução Full-Stack completa para gestão de pedidos de delivery, contendo simulador de compras, painel de parceiros, máquina de estados e testes de performance.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages