{"id":16632770,"url":"https://github.com/jerp86/desafio02-coffeeshop","last_synced_at":"2025-07-17T18:06:36.985Z","repository":{"id":100651599,"uuid":"584525887","full_name":"jerp86/desafio02-coffeeshop","owner":"jerp86","description":"Nesse desafio, será desenvolvido uma aplicação para gerenciar um carrinho de compras de uma cafeteria fictícia","archived":false,"fork":false,"pushed_at":"2023-10-18T15:42:37.000Z","size":1126,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-11T21:41:35.125Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jerp86.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-02T20:23:24.000Z","updated_at":"2023-01-02T20:25:10.000Z","dependencies_parsed_at":"2024-11-17T12:43:20.360Z","dependency_job_id":"7849043b-6101-421f-bb13-614e8ae78181","html_url":"https://github.com/jerp86/desafio02-coffeeshop","commit_stats":{"total_commits":128,"total_committers":2,"mean_commits":64.0,"dds":0.015625,"last_synced_commit":"1d4db462930ade96cc5312f1bcbc867112e02d49"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jerp86/desafio02-coffeeshop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerp86%2Fdesafio02-coffeeshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerp86%2Fdesafio02-coffeeshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerp86%2Fdesafio02-coffeeshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerp86%2Fdesafio02-coffeeshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jerp86","download_url":"https://codeload.github.com/jerp86/desafio02-coffeeshop/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerp86%2Fdesafio02-coffeeshop/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260797331,"owners_count":23064748,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T05:10:18.190Z","updated_at":"2025-06-19T17:35:05.114Z","avatar_url":"https://github.com/jerp86.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Desafio 02 - Coffee Delivery\n\n[![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](https://choosealicense.com/licenses/mit/)\n\n---\n\n\u003ch3 align=\"center\"\u003e\n  \u003ca href=\"#information_source-sobre\"\u003eSobre\u003c/a\u003e\u0026nbsp;|\u0026nbsp;\n  \u003ca href=\"#interrobang-motivo\"\u003eMotivo\u003c/a\u003e\u0026nbsp;|\u0026nbsp;\n  \u003ca href=\"#rocket-tecnologias-utilizadas\"\u003eTecnologias\u003c/a\u003e\u0026nbsp;|\u0026nbsp;\n  \u003ca href=\"#art-layout-no-figma\"\u003eFigma\u003c/a\u003e\u0026nbsp;|\u0026nbsp;\n  \u003ca href=\"#rainbow-documenta%C3%A7%C3%A3o-de-cores\"\u003eCores\u003c/a\u003e\u0026nbsp;|\u0026nbsp;\n\u003c/h3\u003e\n\u003ch3 align=\"center\"\u003e\n  \u003ca href=\"#writing_hand-tamanhos-de-fonte\"\u003eTamanhos\u003c/a\u003e\u0026nbsp;|\u0026nbsp;\n  \u003ca href=\"#abc-fontes-utilizadas\"\u003eFontes\u003c/a\u003e\u0026nbsp;|\u0026nbsp;\n  \u003ca href=\"#zap-como-executar\"\u003eExecutar\u003c/a\u003e\u0026nbsp;|\u0026nbsp;\n  \u003ca href=\"#memo-licen%C3%A7a\"\u003eLicença\u003c/a\u003e\n\u003c/h3\u003e\n\n---\n\n## :information_source: Sobre\n\nEsse desafio do #Ignite da [Rocketseat](@rocketseat-education), foi ainda mais fundo em funcionalidades do React, e dessa vez adicionando também mais regras para praticar ainda mais o uso do ReactJS.\n\nFoi desenvolvido uma aplicação para gerenciar um carrinho de compras de uma cafeteria fictícia, que contém as seguintes funcionalidades:\n- Listagem de produtos (cafés) disponíveis para compra\n- Adicionar uma quantidade específicas de itens no carrinho\n- Aumentar ou remover a quantidade de itens no carrinho\n- Formulário para o usuário preencher o seu endereço\n- Exibir o total de itens no carrinho no Header\n- Exibir o valor total da soma de itens no carrinho multiplicados pelo valor\n\nApesar de serem poucas funcionalidades, foi preciso relembrar conceitos como:\n\n- Estados\n- ContextAPI\n- LocalStorage\n- Imutabilidade do estado\n- Listas e chaves no ReactJS\n- Propriedades\n- Componentização\n\nPara completar esse desafio, foram utilizados métodos de manipulação de arrays como o `reduce`, que foi extremamente útil para o cálculo do valor total do carrinho.\n\n## :interrobang: Motivo\n\nReinicio dos estudos do bootcamp Ignite ReactJS da Rocketseat.\n\nComo se tratou de um desafio, foi necessário alguns conhecimentos além dos abordados nesse módulo.\n\n## :rocket: Tecnologias Utilizadas\n\n- [React](https://reactjs.org/)\n- [ESLint](https://eslint.org/)\n- [Immer](https://github.com/immerjs/immer#readme)\n- [Phosphor](https://phosphoricons.com/)\n- [Polished](https://polished.js.org/)\n- [React-Router-Dom](https://github.com/remix-run/react-router#readme)\n- [React-Hook-Form](https://www.react-hook-form.com/)\n- [Styled-Components](https://styled-components.com/) 💅🏽\n- [Zod](https://github.com/colinhacks/zod)\n\n## :art: Layout no Figma\n\nApós logar em sua conta, você deve duplicar o Layout do desafio. Para isso, basta você clicar no link abaixo. Ele adicionará o Layout à sua dashboard do Figma automaticamente, como uma cópia e abrirá o layout da aplicação para a sua visualização.\n\n[Coffee-Delivery](https://www.figma.com/file/5yT9ZzZmRQRS4yivGGB3pl/Coffee-Delivery/duplicate)\n\n## :rainbow: Documentação de cores\n\n| Cor           | Hexadecimal                                                      |\n| ------------- | ---------------------------------------------------------------- |\n| white        | ![#FFFFFF](https://via.placeholder.com/10/FFFFFF?text=+) #FFFFFF |\n| background   | ![#FAFAFA](https://via.placeholder.com/10/FAFAFA?text=+) #FAFAFA |\n| base-card      | ![#F3F2F2](https://via.placeholder.com/10/F3F2F2?text=+) #F3F2F2 |\n| base-input    | ![#EDEDED](https://via.placeholder.com/10/EDEDED?text=+) #EDEDED |\n| base-button    | ![#E6E5E5](https://via.placeholder.com/10/E6E5E5?text=+) #E6E5E5 |\n| base-hover    | ![#D7D5D5](https://via.placeholder.com/10/D7D5D5?text=+) #D7D5D5 |\n| base-label    | ![#8D8686](https://via.placeholder.com/10/8D8686?text=+) #8D8686 |\n| base-text    | ![#574F4D](https://via.placeholder.com/10/574F4D?text=+) #574F4D |\n| base-subtitle    | ![#403937](https://via.placeholder.com/10/403937?text=+) #403937 |\n| base-title    | ![#272221](https://via.placeholder.com/10/272221?text=+) #272221 |\n| base-error      | ![#f84747](https://via.placeholder.com/10/f84747?text=+) #f84747 |\n| purple-dark | ![#4B2995](https://via.placeholder.com/10/4B2995?text=+) #4B2995 |\n| purple       | ![#8047F8](https://via.placeholder.com/10/8047F8?text=+) #8047F8 |\n| purple-light       | ![#EBE5F9](https://via.placeholder.com/10/EBE5F9?text=+) #EBE5F9 |\n| yellow-dark       | ![#C47F17](https://via.placeholder.com/10/C47F17?text=+) #C47F17 |\n| yellow       | ![#DBAC2C](https://via.placeholder.com/10/DBAC2C?text=+) #DBAC2C |\n| yellow-light       | ![#F1E9C9](https://via.placeholder.com/10/F1E9C9?text=+) #F1E9C9 |\n\n## :writing_hand: Tamanhos de fonte\n\n| Nome           | Tamanho em pixel                                                      |\n| ------------- | ---------------------------------------------------------------- |\n| title-xl  | 48 px |\n| title-l | 32 px |\n| title-m | 24 px |\n| title-s | 20 px |\n| title-xs  | 18 px |\n| text-xl2  | 24 px |\n| text-xl | 20 px |\n| text-l  | 18 px |\n| text-m  | 16 px |\n| text-s  | 14 px |\n| text-xs | 12 px |\n| text-xs2  | 10 px |\n\n## :abc: Fontes utilizadas\n\n- [Roboto](https://fonts.google.com/specimen/Roboto)\n- [Baloo 2](https://fonts.google.com/specimen/Baloo+2)\n\n## :zap: Como executar\n\nClone o projeto:\n\n```\ngit clone https://github.com/jerp86/desafio02-coffeeshop.git\n```\n\nAcesse a pasta clonada:\n\n```\ncd desafio02-coffeeshop\n```\n\nInstale as dependências\n\n```\nnpm ci\n```\n\nRode o projeto:\n\n```\nnpm run dev\n```\n\n## :memo: Licença\n\nEsse projeto está sob a licença MIT. Veja o arquivo [LICENSE](LICENSE) para mais detalhes.\n\n---\n\n\u003ch4 align=\"center\"\u003e\n  Feito por Jerp86 👋️\n\u003c/h4\u003e\n\u003ch5 align=\"center\"\u003e\n  \u003ca href=\"mailto:jerp.dev@gmail.com\"\u003eEntre em contato!\u003c/a\u003e\n\u003c/h5\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.linkedin.com/in/jerp/\"\u003e\n    \u003cimg alt=\"Perfil do Linkedin de José Eduardo Rodrigues Pinto\" src=\"https://img.shields.io/badge/LinkedIn-jerp-0e76a8?style=flat\u0026logoColor=white\u0026logo=linkedin\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://twitter.com/jerpbtu\"\u003e\n    \u003cimg alt=\"Perfil do Twitter de José Eduardo Rodrigues Pinto\" src=\"https://img.shields.io/twitter/follow/jerpbtu?style=flat\u0026logoColor=white\u0026logo=Twitter\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjerp86%2Fdesafio02-coffeeshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjerp86%2Fdesafio02-coffeeshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjerp86%2Fdesafio02-coffeeshop/lists"}