Skip to content

Commit

Permalink
chore: format code
Browse files Browse the repository at this point in the history
  • Loading branch information
c_jean.silva committed Jul 31, 2024
1 parent 73b8abe commit b8ecdf2
Show file tree
Hide file tree
Showing 17 changed files with 985 additions and 929 deletions.
46 changes: 32 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,28 @@

## O Desafio :triangular_flag_on_post:

Há uma lanchonete de bairro que está expandindo devido seu grande sucesso. Porém, com a expansão e sem um sistema de controle de pedidos, o atendimento aos clientes pode ser caótico e confuso. Por exemplo, imagine que um cliente faça um pedido complexo, como um hambúrguer personalizado com ingredientes específicos, acompanhado de batatas fritas e uma bebida. O atendente pode anotar o pedido em um papel e entregá-lo à cozinha, mas não há garantia de que o pedido será preparado corretamente.
Há uma lanchonete de bairro que está expandindo devido seu grande sucesso. Porém, com a expansão e sem um sistema de
controle de pedidos, o atendimento aos clientes pode ser caótico e confuso. Por exemplo, imagine que um cliente faça um
pedido complexo, como um hambúrguer personalizado com ingredientes específicos, acompanhado de batatas fritas e uma
bebida. O atendente pode anotar o pedido em um papel e entregá-lo à cozinha, mas não há garantia de que o pedido será
preparado corretamente.

Sem um sistema de controle de pedidos, pode haver confusão entre os atendentes e a cozinha, resultando em atrasos na preparação e entrega dos pedidos. Os pedidos podem ser perdidos, mal interpretados ou esquecidos, levando à insatisfação dos clientes e a perda de negócios.
Sem um sistema de controle de pedidos, pode haver confusão entre os atendentes e a cozinha, resultando em atrasos na
preparação e entrega dos pedidos. Os pedidos podem ser perdidos, mal interpretados ou esquecidos, levando à insatisfação
dos clientes e a perda de negócios.

Em resumo, um sistema de controle de pedidos é essencial para garantir que a lanchonete possa atender os clientes de maneira eficiente, gerenciando seus pedidos e estoques de forma adequada. Sem ele, expandir a lanchonete pode acabar não dando certo, resultando em clientes insatisfeitos e impactando os negócios de forma negativa.
Em resumo, um sistema de controle de pedidos é essencial para garantir que a lanchonete possa atender os clientes de
maneira eficiente, gerenciando seus pedidos e estoques de forma adequada. Sem ele, expandir a lanchonete pode acabar não
dando certo, resultando em clientes insatisfeitos e impactando os negócios de forma negativa.

Para solucionar o problema, a lanchonete irá investir em um sistema de autoatendimento de fast food, que é composto por uma série de dispositivos e interfaces que permitem aos clientes selecionar e fazer pedidos sem precisar interagir com um atendente, com as seguintes funcionalidades:
Para solucionar o problema, a lanchonete irá investir em um sistema de autoatendimento de fast food, que é composto por
uma série de dispositivos e interfaces que permitem aos clientes selecionar e fazer pedidos sem precisar interagir com
um atendente, com as seguintes funcionalidades:

1. **Pedido**
- Os clientes são apresentados a uma interface de seleção na qual podem optar por se identificarem via CPF, se cadastrarem com nome, e-mail ou não se identificar, podendo montar o combo na seguinte sequência, sendo todas elas opcionais:
- Os clientes são apresentados a uma interface de seleção na qual podem optar por se identificarem via CPF, se
cadastrarem com nome, e-mail ou não se identificar, podendo montar o combo na seguinte sequência, sendo todas elas
opcionais:
- Lanche
- Acompanhamento
- Bebida
Expand All @@ -20,35 +32,41 @@ Para solucionar o problema, a lanchonete irá investir em um sistema de autoaten
**Em cada etapa é exibido o nome, descrição e preço de cada produto.**

2. **Pagamento**
- O sistema deverá possuir uma opção de pagamento integrada para MVP. A forma de pagamento oferecida será via QRCode do Mercado Pago.
- Nesse MVP será realizado um `fake checkout` para o fluxo de pagamento, sem integração direta com algum o Mercado Pago.
- O sistema deverá possuir uma opção de pagamento integrada para MVP. A forma de pagamento oferecida será via QRCode
do Mercado Pago.
- Nesse MVP será realizado um `fake checkout` para o fluxo de pagamento, sem integração direta com algum o Mercado
Pago.

3. **Acompanhamento**
- Uma vez que o pedido é confirmado e pago, ele é enviado para a cozinha para ser preparado. Simultaneamente deve aparecer em um monitor para o cliente acompanhar o progresso do seu pedido com as seguintes etapas:
- Uma vez que o pedido é confirmado e pago, ele é enviado para a cozinha para ser preparado. Simultaneamente deve
aparecer em um monitor para o cliente acompanhar o progresso do seu pedido com as seguintes etapas:
- Recebido
- Em preparação
- Pronto
- Finalizado

4. **Entrega**
- Quando o pedido estiver pronto, o sistema deverá notificar o cliente que ele está pronto para retirada. Ao ser retirado, o pedido deve ser atualizado para o status finalizado.
- Quando o pedido estiver pronto, o sistema deverá notificar o cliente que ele está pronto para retirada. Ao ser
retirado, o pedido deve ser atualizado para o status finalizado.

**Além das etapas do cliente, o estabelecimento precisa de um acesso administrativo:**

1. **Gerenciar clientes**
- Com a identificação dos clientes o estabelecimento pode trabalhar em campanhas promocionais.
- Com a identificação dos clientes o estabelecimento pode trabalhar em campanhas promocionais.

2. **Gerenciar produtos e categorias**
- Os produtos dispostos para escolha do cliente serão gerenciados pelo estabelecimento, definindo nome, categoria, preço, descrição e imagens. Para esse sistema teremos categorias fixas:
- Os produtos dispostos para escolha do cliente serão gerenciados pelo estabelecimento, definindo nome, categoria,
preço, descrição e imagens. Para esse sistema teremos categorias fixas:
- Lanche
- Acompanhamento
- Bebida
- Sobremesa

3. **Acompanhamento de pedidos**
- Deve ser possível acompanhar os pedidos em andamento e tempo de espera de cada pedido.
- Deve ser possível acompanhar os pedidos em andamento e tempo de espera de cada pedido.

As informações dispostas no sistema de pedidos precisarão ser gerenciadas pelo estabelecimento através de um painel administrativo.
As informações dispostas no sistema de pedidos precisarão ser gerenciadas pelo estabelecimento através de um painel
administrativo.

## Time :construction_worker:

Expand Down Expand Up @@ -81,7 +99,7 @@ As informações dispostas no sistema de pedidos precisarão ser gerenciadas pel
## Manual/Documentação de funcionalidade (Swagger/Open API) :heavy_check_mark:

- **Para todos os endpoints privado se faz necessário gerar o token via endpoint login**
[Clique aqui para ser redirecionado para documentação das funcionalidade](https://documenter.getpostman.com/view/7393190/2sA3kd9cgG)
[Clique aqui para ser redirecionado para documentação das funcionalidade](https://documenter.getpostman.com/view/7393190/2sA3kd9cgG)

## Domain Storytelling :heavy_check_mark:

Expand Down
4 changes: 2 additions & 2 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ services:
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"]
test: [ "CMD-SHELL", "pg_isready -U ${POSTGRES_USER}" ]
interval: 10s
timeout: 5s
retries: 5
Expand All @@ -35,7 +35,7 @@ services:
DATABASE_PORT: 5432
DATABASE_NAME: ${POSTGRES_DB}
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/api/public/v1/health"]
test: [ "CMD", "curl", "-f", "http://localhost:8080/api/public/v1/health" ]
interval: 30s
timeout: 10s
retries: 3
Expand Down
Loading

0 comments on commit b8ecdf2

Please sign in to comment.