Welcome to the Fastfood documentation! 🎉🎉 This documentation provides an overview of the Fastfood application, a simple online food ordering and delivery system.
This is a simple application that allows users to order food online and have it delivered to their location. Whether you're craving a juicy burger, a delicious pizza, or a refreshing salad, Fastfood has got you covered!
To run the application, you need to have Docker and Kubernetes installed on your machine. Please follow these steps:
-
Open your terminal and navigate to the following directories of the project.
- kuberntes/database/postgres
- kuberntes/api
-
Run the following command on each path:
kubectl apply -f ../postgres
kubectl apply -f ../api
This command will start the application and set up the necessary environment.
To view the logs of the aplication run the following command:
kubectl get pods
kubectl logs <nomedopod>
Aqui está o fluxo de pedido em detalhes. Siga os passos abaixo para realizar um pedido com sucesso! 😊
Para cadastrar um cliente, precisa fazer uma solicitação POST para a rota /clientes
com os dados necessários. Você pode utilizar o seguinte comando curl:
curl --location 'localhost:8080/clientes' \
--header 'Content-Type: application/json' \
--data-raw '{
"cpf": "654321",
"nome": "Nome do Cliente 2",
"telefone": "4444555",
"endereco": "Endereço do Cliente 2",
"email": "cliente2@example.com"
}'
Agora é hora de cadastrar os itens disponíveis. Utilize a rota /items
para fazer uma solicitação POST e adicionar um novo item. Aqui está um exemplo de comando curl:
curl --location 'localhost:8080/items' \
--header 'Content-Type: application/json' \
--data '{
"nome": "Batata frita",
"descricao": "Batata frita",
"valor": 10.00,
"categoria": "ACOMPANHAMENTO"
}'
Agora vamos cadastrar os métodos de pagamento disponíveis. Utilize a rota /metodo-pagamentos
para fazer uma solicitação POST e adicionar um novo método de pagamento. Aqui está um exemplo de comando curl:
curl --location 'localhost:8080/metodo-pagamentos' \
--header 'Content-Type: application/json' \
--data '{
"metodoPagamento": {
"cvv": "123",
"dataExpiracao": "12/24",
"numeroCartao": "134556",
"cpf": "22222"
}
}'
Agora vamos abrir um novo pedido. Utilize a rota /pedidos
e faça uma solicitação POST para abrir um novo pedido. Aqui está um exemplo de comando curl:
curl --location 'localhost:8080/pedidos' \
--header 'Content-Type: application/json' \
--data '{
"cpf": "123456"
}'
Agora é hora de adicionar itens ao pedido. Utilize a rota /pedidos/itempedido/{numeroPedido}
e faça uma solicitação POST para adicionar um item ao pedido. Aqui está um exemplo de comando curl:
curl --location 'http://localhost:8080/pedidos/itempedido/FF2706234754' \
--header 'Content-Type: application/json' \
--data '{
"numeroPedido": "FF2706234754",
"item": {
"id": 2
},
"quantidade": 1
}'
Agora vamos fazer o checkout do pagamento. Utilize a rota /pedidos/checkout/{numeroPedido}
e faça uma solicitação POST para finalizar o pagamento do pedido. Aqui está um exemplo de comando curl:
curl --location 'http://localhost:8080/pedidos/checkout/FF2706234754' \
curl --location --request PUT 'http://localhost:8080/pedidos/0' \
--header 'Content-Type: application/json' \
--data '{
"statusPedido": "FINALIZADO",
"cpf": "0",
"numeroPedido": "0"
}'
curl --location 'http://localhost:8080/pagamentos'
curl --location 'http://localhost:8080/pagamentos/{{id}}'