{"id":30561817,"url":"https://github.com/mewmewdevart/nowebchallenge","last_synced_at":"2025-10-23T18:55:33.115Z","repository":{"id":297174650,"uuid":"994761863","full_name":"mewmewdevart/NoWebChallenge","owner":"mewmewdevart","description":"Desafio técnico de reprodução da Landing Page 'Tirar Visto' para a vaga de Front-End na NoWeb Publicidade, utilizando React e TailwindCSS.","archived":false,"fork":false,"pushed_at":"2025-08-12T01:55:16.000Z","size":8812,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-28T18:05:05.972Z","etag":null,"topics":["desafio","desafio-tecnico","frontend","noweb","publicidade","tirar-visto","webpage"],"latest_commit_sha":null,"homepage":"https://tirar-visto-noweb-challenge.vercel.app","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/mewmewdevart.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,"zenodo":null}},"created_at":"2025-06-02T12:49:01.000Z","updated_at":"2025-08-13T23:03:30.000Z","dependencies_parsed_at":"2025-06-04T13:17:41.966Z","dependency_job_id":"37931f9a-80bd-4490-87d5-bda581cbeb2b","html_url":"https://github.com/mewmewdevart/NoWebChallenge","commit_stats":null,"previous_names":["mewmewdevart/nowebchallenge"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mewmewdevart/NoWebChallenge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mewmewdevart%2FNoWebChallenge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mewmewdevart%2FNoWebChallenge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mewmewdevart%2FNoWebChallenge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mewmewdevart%2FNoWebChallenge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mewmewdevart","download_url":"https://codeload.github.com/mewmewdevart/NoWebChallenge/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mewmewdevart%2FNoWebChallenge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280675594,"owners_count":26371564,"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","status":"online","status_checked_at":"2025-10-23T02:00:06.710Z","response_time":142,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["desafio","desafio-tecnico","frontend","noweb","publicidade","tirar-visto","webpage"],"created_at":"2025-08-28T12:38:19.445Z","updated_at":"2025-10-23T18:55:33.083Z","avatar_url":"https://github.com/mewmewdevart.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/e413c89b-198b-469c-9443-6a243e30917e\" alt=\"TirarVisto Logo\" style=\"width: 120px;\"\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eFrontend TirarVisto - Desafio Técnico NoWeb Publicidade\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://opensource.org/licenses/MIT\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/License-MIT-blue.svg\" alt=\"Licença MIT\"\u003e\n  \u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/React-19-blue?logo=react\" alt=\"React 19\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/TypeScript-5.8-blue?logo=typescript\" alt=\"TypeScript\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Vite-6.3-purple?logo=vite\" alt=\"Vite\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/TailwindCSS-4.1-blue?logo=tailwindcss\" alt=\"Tailwind CSS\"\u003e\n\u003c/p\u003e\n\n\u003e [!WARNING]\n\u003e Este projeto foi desenvolvido como um desafio técnico para a vaga de Desenvolvedor(a) Front-End da **NoWeb Publicidade**.\n\u003e\n\u003e **Aviso Importante sobre o Processo Seletivo:**\n\u003e\n\u003e A experiência com o processo seletivo foi extremamente negativa e desrespeitosa. Após a entrega do projeto em junho, a empresa prometeu um retorno em uma semana, mas o feedback só chegou mais de dois meses depois, através de uma resposta genérica e sem nenhuma avaliação sobre o trabalho entregue.\n\u003e\n\u003e Este aviso tem como objetivo alertar outros desenvolvedores que pesquisam sobre os desafios técnicos da **NoWeb**. Esteja ciente do total descaso que a empresa pode ter com o seu tempo e dedicação. A falta de comunicação, o descumprimento de prazos e a ausência de feedback profissional são um forte sinal sobre a seriedade do processo. (Recomendo fortemente a leitura das avaliações no Glassdoor deles).\n\u003e\n\u003e Aconselho cautela ao participar de processos seletivos desta empresa. - 11 de Agosto de 2025\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003e\u003ci\u003e🚀 | Minha solução para o Desafio técnico para a vaga de Front-End na NoWeb Publicidade!\u003c/i\u003e\u003c/b\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://tirar-visto-noweb-challenge.vercel.app/\" target=\"_blank\"\u003eAcessar o resultado \u003c/a\u003e\n\u003c/p\u003e\n\n## 📚 Sumário\n\n1.  [📖 Introdução](#-introdução)\n2.  [🎯 O Desafio da NoWeb Publicidade](#-o-desafio-da-noweb-publicidade)\n3.  [✨ Funcionalidades Implementadas (e Além!)](#-funcionalidades-implementadas-e-além)\n    * [♿ Acessibilidade](#-acessibilidade)\n4.  [🏗️ Arquitetura e Estrutura do Projeto](#️-arquitetura-e-estrutura-do-projeto)\n    * [📁 Estrutura de Pastas](#-estrutura-de-pastas)\n5.  [💡 Desafios, Soluções e Considerações Adicionais](#-desafios-soluções-e-considerações-adicionais)\n6.  [🚀 Como Rodar o Projeto](#-como-rodar-o-projeto)\n    * [📋 Pré-requisitos](#-pré-requisitos)\n    * [💻 Rodando o frontend](#-rodando-o-frontend)\n7.  [🖼️ Visão Geral da Aplicação](#️-visão-geral-da-aplicação)\n8.  [🛠️ Tecnologias Utilizadas](#️-tecnologias-utilizadas)\n9.  [📚 Referências](#-referências)\n10. [👩🏿 Experiência](#-experiência)\n11. [📜 Licença](#-licença)\n\n## 📖 Introdução\n\nO projeto **Frontend TirarVisto** é um website de página única (SPA) desenvolvido como resposta ao desafio técnico proposto pela NoWeb Publicidade para a vaga de Desenvolvedor Front-End. A plataforma visa apresentar os serviços de consultoria para obtenção de vistos de forma clara, intuitiva e acessível. O desenvolvimento focou em atender aos critérios de avaliação propostos, como código limpo, fidelidade ao layout, responsividade, e também em entregar \"plus\" com otimizações de SEO e uma base sólida de acessibilidade.\n\n## 🎯 O Desafio da NoWeb Publicidade\n\nO teste técnico proposto pela NoWeb Publicidade consistia em:\n\n\u003e * Código limpo e bem organizado\n\u003e * Fidelidade ao layout do Figma\n\u003e * Responsividade (funcionar bem em diferentes dispositivos)\n\u003e * Apenas dois dias para concluir o desafio\n\u003e * Hospedar o projeto (ex: Vercel, Netlify, etc.)\n\nEste projeto busca endereçar todos os pontos de avaliação, entregando uma solução robusta e bem estruturada dentro do prazo estipulado.\n\n## ✨ Funcionalidades Implementadas (e Além!)\n\nO website implementa integralmente o layout proposto no Figma, incluindo:\n\n* **Hero Section Dinâmica:** Apresentação principal da proposta de valor com elementos visuais e estatísticas de sucesso.\n* **Frase de Impacto \"Why Choose Us\":** Destaque conciso dos diferenciais da empresa.\n* **Detalhes \"Why Choose Us\":** Exploração aprofundada dos motivos para escolher a TirarVisto, incluindo imagem ilustrativa e informações organizadas em acordeão.\n* **Principais Destinos (Top Destinations):** Seção visual com um carrossel de destinos populares.\n* **Pacotes Especiais (Special Packages):** Apresentação dos diferentes pacotes de serviço, com navegação em carrossel e detalhes por pacote.\n* **Footer Completo e Informativo:** Com CTA para contato, link para newsletter, links de navegação, informações de redes sociais e direitos autorais.\n* **Design Responsivo:** Adaptação completa da interface para diferentes tamanhos de tela, conforme solicitado.\n* **Interatividade:** Componentes como carrosséis (destinos e pacotes) e acordeões para apresentação de informações.\n\n**Recursos Adicionais (Plus):**\n\n* **Otimização SEO:** Implementação de meta tags detalhadas e dados estruturados (JSON-LD) no `index.html` para melhor indexação e apresentação nos motores de busca + LazyLoading e Minificação das imagens.\n* **Fundamentos Sólidos de Acessibilidade:** Além da conformidade básica, foram implementados recursos como skip links e atenção à semântica e ARIA.\n\n### ♿ Acessibilidade\n\nUm esforço considerável foi dedicado para tornar a aplicação acessível, atendendo e expandindo as boas práticas:\n\n* **Links de Pular Navegação (Skip Links):** Implementados no `App.tsx`, permitem que usuários de teclado e leitores de tela pulem diretamente para o conteúdo principal (`#main-content`) ou rodapé (`#footer`).\n* **HTML Semântico:** Uso correto de tags HTML5 (`\u003cmain\u003e` implícito pelo `id=\"main-content\"`, `\u003csection\u003e`, `\u003carticle\u003e`, `\u003cnav\u003e`, `\u003cfooter\u003e`, cabeçalhos `\u003ch1\u003e`-`\u003ch6\u003e`, etc.) para estruturar o conteúdo de forma lógica.\n* **Atributos ARIA:** Utilização de atributos ARIA (`aria-labelledby`, `aria-label`, `aria-hidden`, `role`, `tabIndex={-1}` nos destinos dos skip links) para melhorar a experiência de usuários com tecnologias assistivas.\n* **Navegação por Teclado:** Garantia de que todos os elementos interativos sejam acessíveis e operáveis via teclado.\n* **Contraste de Cores:** (Verificado visualmente para atender minimamente) Busca por contraste adequado entre texto e fundo para garantir legibilidade.\n* **Textos Alternativos para Imagens:** Todas as imagens informativas possuem `alt text` descritivo.\n* **Manutenção de Foco Visível:** Estilos de foco claros para elementos interativos, incluindo os skip links.\n* **Estrutura de Cabeçalhos Lógica:** Uso hierárquico de cabeçalhos.\n\n## 🏗️ Arquitetura e Estrutura do Projeto\n\nO projeto adota a metodologia **Atomic Design** para a organização dos componentes da interface. Esta abordagem promove a modularidade, reutilização e escalabilidade do código, contribuindo para um \"código limpo e bem organizado\" conforme solicitado.\n\nOs componentes são categorizados da seguinte forma:\n\n* **Átomos (`src/components/atoms`):** Os blocos de construção fundamentais da UI, como `ButtonComponent.tsx`, `BadgeComponent.tsx`, `IconComponent.tsx`.\n* **Moléculas (`src/components/molecules`):** Grupos de átomos que funcionam juntos como uma unidade funcional simples. Exemplos: `NavbarComponent.tsx`, `AccordionComponent.tsx`, `FooterLinkColumnComponent.tsx`.\n* **Organismos (`src/components/organisms`):** Partes mais complexas da UI compostas por moléculas e/ou átomos. Representam seções distintas da interface, como `PackageCardComponent.tsx`, `HeroContentBlockComponent.tsx`.\n* **Páginas/Seções (`src/components/pages`):** Neste projeto, atuam como \"Seções de Página\". São componentes de alto nível que agrupam organismos e moléculas para formar as principais áreas visuais e funcionais do website. Exemplos: `HeroSection.tsx`, `SpecialPackageSection.tsx`, `FooterSection.tsx`.\n* **App (`src/App.tsx`):** O componente raiz que monta todas as seções da página e gerencia dados globais ou de navegação.\n\n### 📁 Estrutura de Pastas\n\n```\nfrontend-tirar-visto/\n├── public/                     # Arquivos estáticos públicos (favicons, etc.)\n│   └── favicon_io/             # Favicons para diversas plataformas\n├── src/\n│   ├── assets/                 # Imagens, ícones SVG, fontes locais\n│   │   ├── icons/\n│   │   └── images/\n│   ├── components/             # Componentes React seguindo Atomic Design\n│   │   ├── atoms/\n│   │   ├── molecules/\n│   │   ├── organisms/\n│   │   └── pages/              # Seções principais da página\n│   ├── App.tsx                 # Componente principal da aplicação\n│   ├── main.tsx                # Ponto de entrada da aplicação React\n│   ├── index.css               # Estilos globais e configuração do Tailwind\n│   └── vite-env.d.ts           # Tipings do ambiente Vite\n├── eslint.config.js            # Configuração do ESLint\n├── index.html                  # Template HTML principal (com meta tags SEO e A11y)\n├── package.json                # Dependências e scripts do projeto\n├── tailwind.config.js          # Configuração do Tailwind CSS (suposição)\n├── tsconfig.json               # Configuração principal do TypeScript\n└── vite.config.ts              # Configuração do Vite\n```\n\n## 💡 Desafios, Soluções e Considerações Adicionais\n\nDurante o desenvolvimento desta aplicação, alguns desafios surgiram e foram superados com as seguintes estratégias:\n\n* **Componentização Granular vs. Praticidade:**\n    * **Desafio:** Decidir o nível de granularidade na divisão dos componentes (Atomic Design) sem criar uma sobrecarga de arquivos ou abstrações desnecessárias, especialmente para um website de página única com múltiplas seções.\n    * **Solução:** Focar em criar átomos e moléculas para elementos verdadeiramente reutilizáveis ou que encapsulam uma lógica/estilo complexo. Elementos simples e muito específicos de um contexto foram mantidos dentro de componentes pais (moléculas ou organismos) para evitar a proliferação excessiva de componentes triviais, equilibrando a pureza do Atomic Design com a pragmática do projeto. A categorização das seções principais em `src/components/pages` ajudou a manter a organização no nível mais alto.\n\n* **Manutenção da Fidelidade ao Design e Responsividade:**\n    * **Desafio:** Garantir que a interface rica em conteúdo se adapte perfeitamente a diferentes resoluções, mantendo a estética e usabilidade, conforme solicitado no desafio.\n    * **Solução:** Uso intensivo do Tailwind CSS, aproveitando suas classes utilitárias para responsividade (`sm:`, `md:`, `lg2:`, `2xl:`, `3xl:`) e flexbox/grid para construir layouts fluidos. Testes contínuos em diferentes viewports durante o desenvolvimento para assegurar a fidelidade ao layout do Figma.\n\n* **Implementação Efetiva de Acessibilidade:**\n    * **Desafio:** Ir além do básico e garantir que componentes interativos como carrosséis e acordeões sejam plenamente acessíveis, e que a navegação global seja otimizada.\n    * **Solução:** Estudo e aplicação das diretrizes do WCAG, uso correto de HTML semântico, atributos ARIA (como `aria-labelledby`, `aria-controls`, `role`), implementação de navegação por teclado e links de \"pular navegação\" proeminentes e funcionais. O `tabIndex={-1}` nos alvos dos skip links garante que eles não entrem na ordem de tabulação normal até serem focados.\n\n* **Gerenciamento de Estado para Componentes Interativos:**\n    * **Desafio:** Controlar o estado de elementos como o carrossel de pacotes (índice atual, itens por página) e acordeões (painel expandido) de forma eficiente.\n    * **Solução:** Utilização dos hooks do React (`useState`, `useEffect`, `useCallback`) para gerenciar o estado localmente nos componentes que necessitam (como `SpecialPackageSection.tsx` controlando o carrossel), mantendo a lógica encapsulada e o fluxo de dados previsível.\n\n**Considerações para Evolução (com mais tempo):**\n\n* **Acessibilidade Avançada:** Embora uma base sólida tenha sido implementada, com mais tempo, seria interessante aprofundar em testes com leitores de tela diversos, refinar os padrões ARIA para componentes dinâmicos (como o carrossel, garantindo que as atualizações de conteúdo sejam anunciadas corretamente) e realizar auditorias de acessibilidade mais completas.\n* **Animações e Microinterações:** Para enriquecer a experiência do usuário, poderiam ser adicionadas animações sutis em transições de componentes, hover effects e ao carregar seções, utilizando bibliotecas como Framer Motion ou mesmo transições CSS, sempre com a preocupação de não prejudicar a performance ou a acessibilidade (respeitando `prefers-reduced-motion`).\n\n## 🚀 Como Rodar o Projeto\n\n### 📋 Pré-requisitos\n\n* **Node.js** (v18.x ou superior recomendado)\n* **npm** (geralmente vem com o Node.js) ou **yarn**\n* **Git**\n\n### 💻 Rodando o frontend\n\n1.  **Clone o repositório:**\n    ```bash\n    git clone https://github.com/mewmewdevart/NoWebChallenge.git\n    ```\n\n2.  **Navegue até a pasta do projeto frontend:**\n    ```bash\n    cd NoWebChallenge/frontend-tirar-visto/\n    ```\n\n3.  **Instale as dependências:**\n    ```bash\n    npm install\n    ```\n\n4.  **Inicie o servidor de desenvolvimento:**\n    ```bash\n    npm run dev\n    ```\n\n5.  **Acesse a aplicação:**\n    Abra o navegador e acesse:\n    ```\n    // Verifique se a porta já não está sendo usada \n    http://localhost:5173\n    ```\n\n## 🖼️ Visão Geral da Aplicação\n\n\u003cdetails\u003e\u003csummary\u003e 📷 Printscreen completo (Desktop)\u003c/summary\u003e\n  \n![Wektop](https://github.com/user-attachments/assets/faa6baff-f1d6-4584-8d6e-a5ecd3409713)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003e📷 Printscreen completo (Mobile)\u003c/summary\u003e\n  \n![MObile](https://github.com/user-attachments/assets/fc8048d7-3dd4-4a00-aba0-9dd01bd058cf)\n\n\u003c/details\u003e\n\n🎥 Video de todo o projeto (Gravação rapida):\n- Passagem pela acessibilidade do SkipToContent\n- Passagem pela acessibilidade dos Botoes\n- Interações e \"animações breves\"\n- Coesão do Design\n- Responsividade\n\n[Gravacao das funcionalidades principais](https://github.com/user-attachments/assets/6f923463-e9a9-4e0c-b866-7e22b5a8e592)\n\n\n## 🛠️ Tecnologias Utilizadas\n\n### **Principais**\n\n* **React (v19.1.0):** Biblioteca JavaScript para construir interfaces de usuário.\n* **TypeScript (v5.8.3):** Superset do JavaScript que adiciona tipagem estática.\n* **Vite (v6.3.5):** Ferramenta de build moderna e rápida para desenvolvimento frontend.\n* **Tailwind CSS (v4.1.8):** Framework CSS utility-first para estilização rápida e customizável.\n* **Material-UI (MUI):**\n    * `@mui/icons-material` (v7.1.1): Para ícones SVG.\n    * `@mui/material` (v7.1.1): Biblioteca de componentes React.\n    * `@emotion/react`, `@emotion/styled`: Bibliotecas CSS-in-JS usadas pelo MUI.\n* **Tailwind Merge (v3.3.0):** Utilitário para mesclar classes do Tailwind CSS sem conflitos de estilo.\n\n### **Desenvolvimento e Qualidade de Código**\n\n* **ESLint (v9.25.0):** Ferramenta para identificar e corrigir problemas no código JavaScript/TypeScript.\n* **`typescript-eslint`:** Integração do ESLint com TypeScript.\n* **Node.js:** Ambiente de execução JavaScript (usado para as ferramentas de desenvolvimento).\n* **Globals:** Para configuração de globais no ESLint.\n\n## 📚 Referências\n* [Documentação React](https://react.dev/)\n* [Documentação TypeScript](https://www.typescriptlang.org/docs/)\n* [Documentação Vite](https://vitejs.dev/)\n* [Documentação Tailwind CSS](https://tailwindcss.com/docs)\n* [Documentação Material-UI](https://mui.com/material-ui/getting-started/)\n* [Atomic Design por Brad Frost](https://atomicdesign.bradfrost.com/)\n* [WCAG (Web Content Accessibility Guidelines)](https://www.w3.org/WAI/standards-guidelines/wcag/)\n* [Figma (para o design, se aplicável)](https://www.figma.com/)\n* [Schema.org (para dados estruturados)](https://schema.org/)\n* [TinyPNG(Minificação do peso das imagens)](https://tinypng.com/)\n* [PNG-Converter(Conversão dos pngs em webp)](https://cloudconvert.com/png-converter)\n\n## 👩🏿 Experiência (Tom mais informal)\n\nFoi tranquilo e gostoso de fazer o desafio. Me diverti enquanto criava cada pedaço da interface, vendo os elementos sairem do Figma e ganharem vida no codigo. Pude fortalecer os meus conhecimento em :\n* **React e Atomic Design:** Consegui aplicar o Atomic Design na prática para organizar os componentes, o que deixou tudo mais ajeitadinho e fácil de mexer depois.\n* **Acessibilidade (A11y):** Pude ir além do básico, implementando os skip links (aqueles para pular navegação, sabe?), usando HTML semântico direitinho e pensando nos atributos ARIA para quem usa leitor de tela.\n* **SEO:** Dei uma atenção extra para as meta tags e até coloquei uns dados estruturados (JSON-LD) no `index.html`, pensando em como o Google ia \"enxergar\" a página.\n* **Fidelidade ao Design:** Tentei ser o mais fiel possível ao layout do Figma, e ainda aproveitei para dar uns \"polimentos adicionais\" em alguns detalhes para deixar a experiência ainda melhor.\n\nA única coisinha que não me deixou 100% satisfeita foi a responsividade. O site está responsivo, se adapta a diferentes telas porém sinto que se tivesse um design especifico para mobile no desafio, para replicar no codigo, o resultado final para mobile teria ficado mais agradavel em questão de design. \n\nNo geral, curti a experiência! Se o prazo fosse um pouquinho maior, com certeza eu mergulharia de cabeça para adicionar mais animações e faria testes ainda mais profundos de acessibilidade com diferentes leitores de tela. Foi um bom desafio, obrigada pela experiencia!\n\n## 📜 Licença\n\nEste projeto está licenciado sob a [Licença MIT](https://opensource.org/licenses/MIT).\n\n\u003cp align=\"center\"\u003e\n  Desenvolvido com muito ☕ por\n  \u003ca href=\"https://linktr.ee/mewmewdevart\" target=\"_blank\"\u003eLarissa Cristina Benedito\u003c/a\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmewmewdevart%2Fnowebchallenge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmewmewdevart%2Fnowebchallenge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmewmewdevart%2Fnowebchallenge/lists"}