Skip to content

Latest commit

 

History

History
322 lines (286 loc) · 10.6 KB

README.md

File metadata and controls

322 lines (286 loc) · 10.6 KB

🛒 Boas-vindas ao repositório do projeto Carrinho de Compras

Nesse projeto foi desenvolvido um carrinho de compras totalmente dinâmico, no qual foi utilizada a API do Mercado Livre para buscar produtos à venda e o framework Jest para desenvolver os testes e manter a qualidade do aplicativo.

🚀 Projeto Rodando

Para visualizar o Carinho de Compras rodando acesse esse link:

https://karolineks.github.io/Carrinho_de_compras/

🛠 Tecnologias utilizadas

Javascript, HTML, CSS, Jest e NPM

👨‍💻 Demonstração

Project Gif

⚙️ API do Mercado Livre

O manual da API do Mercado Livre contém todas as informações acerca da API (retorno, estrutura). Nesse projeto foi utilizado apenas alguns dos endpoints, sendo eles:

  • https://api.mercadolibre.com/sites/MLB/search?q=$QUERY: traz uma lista de produtos, onde $QUERY é o termo a ser buscado. Por exemplo, se o termo for computador, o retorno será parecido com esse:

    Retorno da requisição de listagem de produtos

    Esse retorno possui várias informações acerca da lista de produtos. Dentro do array results é onde se encontra a lista de produtos.

    {
        "site_id": "MLB",
        "query": "computador",
        "paging": {
            "total": 406861,
            "offset": 0,
            "limit": 50,
            "primary_results": 1001
        },
        "results": [
            {
                "id": "MLB1341925291",
                "site_id": "MLB",
                "title": "Processador Intel Core I5-9400f 6 Núcleos 128 Gb",
                "seller": {
                    "id": 385471334,
                    "permalink": null,
                    "power_seller_status": null,
                    "car_dealer": false,
                    "real_estate_agency": false,
                    "tags": []
                },
                "price": 899,
                "currency_id": "BRL",
                "available_quantity": 1,
                "sold_quantity": 0,
                "buying_mode": "buy_it_now",
                "listing_type_id": "gold_pro",
                "stop_time": "2039-10-10T04:00:00.000Z",
                "condition": "new",
                "permalink": "https://www.mercadolivre.com.br/processador-intel-core-i5-9400f-6-nucleos-128-gb/p/MLB13953199",
                "thumbnail": "http://mlb-s2-p.mlstatic.com/813265-MLA32241773956_092019-I.jpg",
                "accepts_mercadopago": true,
                "installments": {
                    "quantity": 12,
                    "amount": 74.92,
                    "rate": 0,
                    "currency_id": "BRL"
                },
                "address": {
                    "state_id": "BR-SP",
                    "state_name": "São Paulo",
                    "city_id": "BR-SP-27",
                    "city_name": "São José dos Campos"
                },
                "shipping": {
                    "free_shipping": true,
                    "mode": "me2",
                    "tags": [
                        "fulfillment",
                        "mandatory_free_shipping"
                    ],
                    "logistic_type": "fulfillment",
                    "store_pick_up": false
                },
                "seller_address": {
                    "id": "",
                    "comment": "",
                    "address_line": "",
                    "zip_code": "",
                    "country": {
                        "id": "BR",
                        "name": "Brasil"
                    },
                    "state": {
                        "id": "BR-SP",
                        "name": "São Paulo"
                    },
                    "city": {
                        "id": "BR-SP-27",
                        "name": "São José dos Campos"
                    },
                    "latitude": "",
                    "longitude": ""
                },
                "attributes": [
                    {
                        "source": 1,
                        "id": "ALPHANUMERIC_MODEL",
                        "value_id": "6382478",
                        "value_struct": null,
                        "values": [
                            {
                                "name": "BX80684I59400F",
                                "struct": null,
                                "source": 1,
                                "id": "6382478"
                            }
                        ],
                        "attribute_group_id": "OTHERS",
                        "name": "Modelo alfanumérico",
                        "value_name": "BX80684I59400F",
                        "attribute_group_name": "Outros"
                    },
                    {
                        "id": "BRAND",
                        "value_struct": null,
                        "attribute_group_name": "Outros",
                        "attribute_group_id": "OTHERS",
                        "source": 1,
                        "name": "Marca",
                        "value_id": "15617",
                        "value_name": "Intel",
                        "values": [
                            {
                                "id": "15617",
                                "name": "Intel",
                                "struct": null,
                                "source": 1
                            }
                        ]
                    },
                    {
                        "name": "Condição do item",
                        "value_id": "2230284",
                        "attribute_group_id": "OTHERS",
                        "attribute_group_name": "Outros",
                        "source": 1,
                        "id": "ITEM_CONDITION",
                        "value_name": "Novo",
                        "value_struct": null,
                        "values": [
                            {
                                "id": "2230284",
                                "name": "Novo",
                                "struct": null,
                                "source": 1
                            }
                        ]
                    },
                    {
                        "id": "LINE",
                        "value_name": "Core i5",
                        "attribute_group_id": "OTHERS",
                        "attribute_group_name": "Outros",
                        "name": "Linha",
                        "value_id": "7769178",
                        "value_struct": null,
                        "values": [
                            {
                                "id": "7769178",
                                "name": "Core i5",
                                "struct": null,
                                "source": 1
                            }
                        ],
                        "source": 1
                    },
                    {
                        "id": "MODEL",
                        "value_struct": null,
                        "values": [
                            {
                                "id": "6637008",
                                "name": "i5-9400F",
                                "struct": null,
                                "source": 1
                            }
                        ],
                        "attribute_group_id": "OTHERS",
                        "name": "Modelo",
                        "value_id": "6637008",
                        "value_name": "i5-9400F",
                        "attribute_group_name": "Outros",
                        "source": 1
                    }
                ],
                "differential_pricing": {
                    "id": 33580182
                },
                "original_price": null,
                "category_id": "MLB1693",
                "official_store_id": null,
                "catalog_product_id": "MLB13953199",
                "tags": [
                    "brand_verified",
                    "good_quality_picture",
                    "good_quality_thumbnail",
                    "immediate_payment",
                    "cart_eligible"
                ],
                "catalog_listing": true
            },
        ]
    }
      </details>
    
  • https://api.mercadolibre.com/items/$ItemID: traz detalhes de um determinado produto, onde $ItemID é o id do produto a ser buscado. Por exemplo, se o id do produto for MLB1341706310, o retorno será parecido com esse:

    Retorno da requisição de detalhes de um produto

    Esse retorno traz informações detalhadas sobre cada um dos produtos. Por exemplo, o id desse produto, o title, que o título do produto, price, que é o preço e assim por diante.

    {
      "id": "MLB1341706310",
      "site_id": "MLB",
      "title": "Processador Gamer Amd Ryzen 5 2600 Yd2600bbafbox De 6 Núcleos E 3.9ghz De Frequência",
      "subtitle": null,
      "seller_id": 245718870,
      "category_id": "MLB1693",
      "official_store_id": 1929,
      "price": 1068,
      "base_price": 1068,
      "original_price": null,
      "currency_id": "BRL",
      "initial_quantity": 93,
      "available_quantity": 0,
      "sold_quantity": 50,
      "sale_terms": [],
      "buying_mode": "buy_it_now",
      "listing_type_id": "gold_special",
      "start_time": "2019-10-15T18:13:00.000Z",
      "stop_time": "2040-01-27T00:26:51.000Z",
      "condition": "new",
      "permalink": "https://produto.mercadolivre.com.br/MLB-1341706310-processador-gamer-amd-ryzen-5-2600-yd2600bbafbox-de-6-nucleos-e-39ghz-de-frequncia-_JM",
      "thumbnail_id": "852106-MLA42157659481_062020",
      "thumbnail": "http://http2.mlstatic.com/D_852106-MLA42157659481_062020-I.jpg",
      "secure_thumbnail": "https://http2.mlstatic.com/D_852106-MLA42157659481_062020-I.jpg",
      "pictures": [],
      "video_id": null,
      "descriptions": [
      ],
      "accepts_mercadopago": true,
      "non_mercado_pago_payment_methods": [
      ],
      "shipping": {},
      "international_delivery_mode": "none",
      "seller_address": {},
      "seller_contact": null,
      "location": {
      },
      "coverage_areas": [
      ],
      "attributes": [],
      "warnings": [
      ],
      "listing_source": "",
      "variations": [
      ],
      "status": "paused",
      "sub_status": [],
      "tags": [],
      "warranty": "Garantia de fábrica: 3 anos",
      "catalog_product_id": "MLB9196241",
      "domain_id": "MLB-COMPUTER_PROCESSORS",
      "parent_item_id": null,
      "differential_pricing": null,
      "deal_ids": [
      ],
      "automatic_relist": false,
      "date_created": "2019-10-15T18:13:00.000Z",
      "last_updated": "2022-02-05T06:46:48.434Z",
      "health": null,
      "catalog_listing": true,
      "channels": []
    }

🎯 Rodando os testes

Para executar os testes, execute o comando abaixo:

npm test

Para executar e acompanhar a implementação da cobertura de testes, rode o comando abaixo:

npm run test:coverage

💡 Feedback

Estou aberta para feedbacks ou qualquer sugestão de melhoria