{"id":30669693,"url":"https://github.com/odevthomas/projeto-calculator","last_synced_at":"2025-09-01T01:40:53.262Z","repository":{"id":305734815,"uuid":"1023771330","full_name":"odevthomas/projeto-calculator","owner":"odevthomas","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-21T17:38:47.000Z","size":61,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-21T19:34:36.625Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://odevthomas.github.io/projeto-calculator/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/odevthomas.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-07-21T17:05:36.000Z","updated_at":"2025-07-21T17:39:23.000Z","dependencies_parsed_at":"2025-07-21T19:45:51.106Z","dependency_job_id":null,"html_url":"https://github.com/odevthomas/projeto-calculator","commit_stats":null,"previous_names":["odevthomas/projeto-calculator"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/odevthomas/projeto-calculator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odevthomas%2Fprojeto-calculator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odevthomas%2Fprojeto-calculator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odevthomas%2Fprojeto-calculator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odevthomas%2Fprojeto-calculator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/odevthomas","download_url":"https://codeload.github.com/odevthomas/projeto-calculator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odevthomas%2Fprojeto-calculator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273064947,"owners_count":25039264,"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-08-31T02:00:09.071Z","response_time":79,"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":[],"created_at":"2025-09-01T01:40:49.911Z","updated_at":"2025-09-01T01:40:53.226Z","avatar_url":"https://github.com/odevthomas.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🧮 Calculadora Web Responsiva – Thomas Eduardo\n\nProjeto de calculadora responsiva e funcional desenvolvida com **HTML**, **CSS** e **JavaScript Puro**, com foco em:\n- Lógica clara e modular;\n- Interface moderna com Raleway + responsividade;\n- Exibição de símbolos pressionados em tempo real;\n- Operações matemáticas com formatação de resultado;\n- Estrutura organizada para aprendizado e portfólio profissional.\n\n---\n\n## ✨ Demonstração\n\n![Calculadora](./preview.jpg)\n\n---\n\n## 🚀 Tecnologias Usadas\n\n- HTML5 semântico\n- CSS3 com variáveis e responsividade\n- JavaScript modular (sem frameworks)\n- Google Fonts (Raleway)\n- Organização de código por componentes lógicos\n\n---\n\n## 💡 Funcionalidades\n\n- ✅ Soma, Subtração, Multiplicação e Divisão\n- ✅ Cálculo de porcentagem\n- ✅ Limpar (`C`) e Apagar (`⌫`)\n- ✅ Formatação automática de resultados longos\n- ✅ Histórico de símbolos pressionados exibido ao vivo\n- ✅ Totalmente responsiva\n- ✅ Sem dependências externas (zero libs)\n\n---\n\n## 📁 Estrutura de Código\n\n```html\n📦 calculator\n ┣ 📂 css\n ┃ ┗ 📜 styles.css        # Estilização completa e responsiva\n ┣ 📂 js\n ┃ ┗ 📜 script.js         # Toda a lógica da calculadora\n ┣ 📂 favicon             # Ícones para dispositivos e browsers\n ┣ 📜 index.html          # Estrutura principal da calculadora\n ┣ 📜 site.webmanifest    # Manifesto para PWA (opcional)\n ┗ 📜 README.md           # Documentação do projeto\n````\n\n---\n\n## 🧪 Como Executar Localmente\n\n```bash\n# 1. Clone o repositório\ngit clone https://github.com/seuusuario/calculadora-thomas.git\n\n# 2. Acesse a pasta\ncd calculadora-thomas\n\n# 3. Abra o arquivo index.html no navegador\n```\n\n---\n\n## 📱 Responsividade\n\nA calculadora se adapta bem em resoluções de celular, tablet e desktop. Isso foi possível usando `rem`, `flexbox` e media queries personalizadas.\n\n---\n\n## 🔍 SEO e Acessibilidade\n\n* `lang=\"pt-br\"` no HTML\n* Meta tags para responsividade\n* Tipografia legível (linha, peso, contraste)\n* Sem `eval` direto exposto (uso seguro e encapsulado)\n\n---\n\n## 🧠 Lógica JavaScript\n\nA lógica está centralizada no arquivo `js/script.js` e segue uma arquitetura simples:\n\n* Um array central com todos os botões e seus tipos\n* Um objeto `state` que guarda `operation`, `result`, `history`, `output`\n* Separação por responsabilidades: `handleCalculatorInput`, `evaluateExpression`, `handleKey`, `updateAllDisplays`, etc.\n* Resultado formatado com limite de casas decimais\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fodevthomas%2Fprojeto-calculator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fodevthomas%2Fprojeto-calculator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fodevthomas%2Fprojeto-calculator/lists"}