Este é o meu projeto desenvolvido como parte do desafio "Caixa da Lanchonete" da DBServer. O desafio consiste em criar uma lógica que calcule o valor de uma compra de acordo com o cardápio, regras e descontos da Lanchonete.
Neste projeto, criei uma aplicação em JavaScript para automatizar o processo de cálculo do valor de uma compra na Lanchonete da DB. A aplicação recebe informações sobre a forma de pagamento e os itens selecionados pelo cliente e calcula o valor total da compra, aplicando descontos e acréscimos conforme as regras definidas.
✔️ Concluído.
- Cálculo do valor total da compra com base nos itens selecionados.
- Aplicação de desconto de 5% para pagamento em dinheiro.
- Acréscimo de 3% para pagamento a crédito.
- Verificação de regras para itens extras e principais.
- Exibição de mensagens de erro para cenários inválidos.
-
Instale o Node.js em sua máquina.
-
Clone este repositório para sua máquina local com o comando:
$ git clone <https://github.com/lucascavalcan/desafio-lucas-cavalcanti>
-
No terminal, navegue até o diretório do projeto.
-
Instale as dependências usando o comando:
npm install
- Execute os testes automatizados com o comando:
npm test
- Para utilizar a aplicação em um cenário real, o usuário deve executar o arquivo index.js com o seguinte comando:
node index.js
- Dessa forma, vai ser perguntado a forma de pagamento e os itens que o consumidor deseja efetuar a compra, conforme pode ser visto no exemplo abaixo:
Design.sem.nome.2.mp4
Dentre os ítens disponíveis para compra, temos os seguintes produtos no cardápio:
codigo | descrição | valor |
---|---|---|
cafe | Café | R$ 3,00 |
chantily | Chantily (extra do Café) | R$ 1,50 |
suco | Suco Natural | R$ 6,20 |
sanduiche | Sanduíche | R$ 6,50 |
queijo | Queijo (extra do Sanduíche) | R$ 2,00 |
salgado | Salgado | R$ 7,25 |
combo1 | 1 Suco e 1 Sanduíche | R$ 9,50 |
combo2 | 1 Café e 1 Sanduíche | R$ 7,50 |
Além disso, a Lanchonete aceita as seguintes formas de pagamento:
- dinheiro
- debito
- credito
Para realizar um pedido, o usuário deve selecionar o produto e a forma de pagamento conforme foi mostrado no exemplo acima.
Este projeto foi desenvolvido como parte de um desafio técnico. No entanto, fique à vontade para contribuir com melhorias, correções de bugs ou novas funcionalidades. Basta abrir um pull request com suas alterações.
Projeto criado por Lucas Cavalcanti de Araujo
Em caso de dúvidas, entrar em contato através do e-mail: [email protected]
Feito com ❤️