{"id":24996735,"url":"https://github.com/dyegopimentel/zuckerverso","last_synced_at":"2026-05-06T22:03:13.890Z","repository":{"id":245354040,"uuid":"813380280","full_name":"DyegoPimentel/zuckerverso","owner":"DyegoPimentel","description":"This system is a WEB 3 platform for buying and selling NFTs (Non-Fungible Tokens), utilizing resources such as MetaMask and Firebase to create an anonymized login system.","archived":false,"fork":false,"pushed_at":"2024-07-20T15:28:30.000Z","size":1105,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-29T15:46:19.001Z","etag":null,"topics":["angular","blockchain","firebase","firebase-hosting","firestore","fullstack","fullstack-developer","html-css-javascript","metamask","nosql","typescript","web3"],"latest_commit_sha":null,"homepage":"https://zuckerverso.com.br","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/DyegoPimentel.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":"2024-06-11T01:20:47.000Z","updated_at":"2024-07-20T15:28:34.000Z","dependencies_parsed_at":"2024-06-21T17:49:23.215Z","dependency_job_id":"9221bf78-5dfb-4293-9896-f6bdc629c180","html_url":"https://github.com/DyegoPimentel/zuckerverso","commit_stats":null,"previous_names":["dyegopimentel/zuckerverso"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DyegoPimentel/zuckerverso","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DyegoPimentel%2Fzuckerverso","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DyegoPimentel%2Fzuckerverso/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DyegoPimentel%2Fzuckerverso/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DyegoPimentel%2Fzuckerverso/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DyegoPimentel","download_url":"https://codeload.github.com/DyegoPimentel/zuckerverso/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DyegoPimentel%2Fzuckerverso/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32713820,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T19:35:05.142Z","status":"ssl_error","status_checked_at":"2026-05-06T19:35:03.996Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["angular","blockchain","firebase","firebase-hosting","firestore","fullstack","fullstack-developer","html-css-javascript","metamask","nosql","typescript","web3"],"created_at":"2025-02-04T16:32:08.901Z","updated_at":"2026-05-06T22:03:13.853Z","avatar_url":"https://github.com/DyegoPimentel.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"🇧🇷 Português | 🇬🇧 [English](README_en.md)\n\n# SISTEMA DE COLECIONÁVEIS INTEGRADO A BLOCKCHAIN\n\nEste sistema foi desenvolvido para compor o projeto prático do TCC - SISTEMA DE COLECIONÁVEIS INTEGRADO A BLOCKCHAIN e foi desenvolvido pelo aluno Dyego Lourenço Pimentel, formando no curso de Pós-Graduação em Desenvolvimento Fullstack pela PUC-RS.\n\nEste sistema é uma plataforma WEB 3 para compra e venda de NFTs (Non-Fungible Token), e utilizou de recursos como a Metamask e o Firebase para criar um sistema de login anonimizado. \n\n🧑🏻‍💻 [Veja o passo a passo do desenvolvimento deste projeto](https://www.youtube.com/playlist?list=PLAF4U4GKtW-xkvV45upS4p4UbvtaL3f5J) 👀\n\nCaso tenha interesse em saber mais detalhes sobre este projeto, sinta-se avontade para ver o Documento de apresentação deste TCC [neste link](https://github.com/DyegoPimentel/zuckerverso/blob/main/TCC%20-%20SISTEMA%20DE%20COLECION%C3%81VEIS%20INTEGRADO%20A%20BLOCKCHAIN.pdf).\n\n🟢 [Acesse o sistema para ve-lo em funcionamento](https://zuckerverso.com.br) 🟢\n\n## 🔴 Informaçoes Importantes\n- O sistema foi desenvolvido em Angular na versão 18;\n- Typescript é a principal linguagem de programação utilizada neste projeto;\n- É necessário ter a Metamask instalada e devidamente configurada para acessar determinados recursos no sistema, como por exemplo, favoritar itens da coleção;\n- Na raiz do projeto tem uma pasta chamada `.github/workflows`, esta página contém o script utilizado para realizar o deploy automático (CI/CD) da aplicação;\n-  O Firebase é parte importante do desenvolvimento, utilizei ele como um backend as a service, através dele foi feito a hospedagem e a autenticação do usuário de forma anonima.\n- O Firestore foi o banco de dados escolhido pelo fato de ser noSQL e pela facilidade de integração.\n\n## 🥷 Login Anonimizado\nEsta é uma breve explicação da estrutura de login utilizado neste projeto, geralmente um login é composto por um Usuário e senha, mas isso na maior parte das vezes é desnecessário e invasivo, as vezes para simples cadastros são exigidos CPF, endereços e etc.\n\nAproveitando de uma das caracteristicas criadas pela Blockchain, utilizei a chave pública da carteira de criptomoedas (no nosso caso a metamask) para ser o identificador do usuário, levando em consideração que a chave pública é uma hash unica. Desta forma, quando o usuário conecta sua metamask no sistema, a chave publica é armazenada como um documento na coleção de usuários no Firestore, e este documento inicialmente tem apenas um atributo que é o array de favoritos do usuário. Conforme pode ser visto na imagem abaixo:\n\n![Alt text](\u003cDB noSQL - Firestore.png\u003e)\n\nDesta forma mantemos a integridade dos dados e sua unicidade, e não invadimos a privacidade do usuário.\n\nVeja a seguir tudo que é necessário para rodar este projeto localmente.\n\n## 🛠️ Pré requisitos\n [Angular CLI](https://github.com/angular/angular-cli) versão 18.0.3\n\n [NodeJs](https://nodejs.org/pt) versão 20.14.0\n\n [NVM](https://nodejs.org/pt/download/package-manager) - Gerenciador de versões do NodeJs\n\n [Metamask](https://metamask.io) - Carteira de Criptomoedas \n\n[Firebase](https://firebase.google.com/) - Responsável pelo hosting, autenticação e banco de dados noSQL(Firestore)\n\n## 🧑‍💻 Instalando o Frontend\n\nApós instalar todas as ferramentas citadas anteriormente, clone este repositório e acesse a pasta raiz do projeto \"zuckerverso\".\n\nInstale as dependências presentes no arquivo package.json, para isso basta digitar o comando abaixo na raiz do projeto:\n\n```\nnpm install\n```\n\nAssim que todas as depêndencias forem instaladas com sucesso, rode o servidor local para subir a aplicação Frontend digitando o comando abaixo:\n```\nng serve\n```\n\nSe você chegou até aqui, já estará apto a acessar a url `http://localhost:4200/`. \n\n\n## 🌎 Build\n\nCaso eventualmente queira realizar o build para subir este projeto em algum servidor, basta digitar o comando abaixo na raiz do projeto:\n```\nng build\n```\nEste comando é responável por transformar os arquivos gerados pelo angular em arquivos estáticos, que ficarão disponíveis na pasta `dist/zuckerverso` .\n\n\n## 🙏 Considerações Finais\nEste projeto foi bastante desafiador e empolgante, visto que web3 e Blockchain são temas relativamente novos. Muito obrigado por ter chegado até aqui e não se esqueça de favoritar ⭐️ este repósitorio caso tenha interesse em ver mais conteúdos semelhantes a este. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdyegopimentel%2Fzuckerverso","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdyegopimentel%2Fzuckerverso","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdyegopimentel%2Fzuckerverso/lists"}