{"id":28043661,"url":"https://github.com/emmanuelmarcosdeoliveira/calculator","last_synced_at":"2026-05-10T05:33:43.868Z","repository":{"id":291987944,"uuid":"979446391","full_name":"emmanuelmarcosdeoliveira/calculator","owner":"emmanuelmarcosdeoliveira","description":"Calculadora com React e TailwindCSS","archived":false,"fork":false,"pushed_at":"2025-05-18T01:22:34.000Z","size":38,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-21T17:02:05.362Z","etag":null,"topics":["react","swc","tailwindv4","vite"],"latest_commit_sha":null,"homepage":"","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/emmanuelmarcosdeoliveira.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-05-07T14:20:01.000Z","updated_at":"2025-05-07T18:11:57.000Z","dependencies_parsed_at":"2025-05-11T16:54:21.108Z","dependency_job_id":null,"html_url":"https://github.com/emmanuelmarcosdeoliveira/calculator","commit_stats":null,"previous_names":["emmanuelmarcosdeoliveira/calculator"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/emmanuelmarcosdeoliveira/calculator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emmanuelmarcosdeoliveira%2Fcalculator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emmanuelmarcosdeoliveira%2Fcalculator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emmanuelmarcosdeoliveira%2Fcalculator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emmanuelmarcosdeoliveira%2Fcalculator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emmanuelmarcosdeoliveira","download_url":"https://codeload.github.com/emmanuelmarcosdeoliveira/calculator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emmanuelmarcosdeoliveira%2Fcalculator/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261162061,"owners_count":23118219,"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":["react","swc","tailwindv4","vite"],"created_at":"2025-05-11T16:54:18.813Z","updated_at":"2026-05-10T05:33:43.863Z","avatar_url":"https://github.com/emmanuelmarcosdeoliveira.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🧮 Calculadora | OFS\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://res.cloudinary.com/delo0gvyb/image/upload/v1752274561/Canva_SEO_calculator_wkeqbs.png\" alt=\"Calculator Banner\" width=\"100%\"\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![React](https://img.shields.io/badge/React-19.1.0-61DAFB?style=plastic\u0026logo=react)](https://react.dev/)\n[![Vite](https://img.shields.io/badge/Vite-6.3.5-646CFF?style=plastic\u0026logo=vite)](https://vitejs.dev/)\n[![TailwindCSS](https://img.shields.io/badge/TailwindCSS-4.1.5-38B2AC?style=plastic\u0026logo=tailwind-css)](https://tailwindcss.com/)\n[![JavaScript](https://img.shields.io/badge/JavaScript-ES6+-F7DF1E?style=plastic\u0026logo=javascript)](https://developer.mozilla.org/en-US/docs/Web/JavaScript)\n[![ESLint](https://img.shields.io/badge/ESLint-9.25.0-4B32C3?style=plastic\u0026logo=eslint)](https://eslint.org/)\n\n\u003c/div\u003e\n\n---\n\n## 📋 Índice\n\n- [📖 Sobre o Projeto](#-sobre-o-projeto)\n- [🚀 Tecnologias Utilizadas](#-tecnologias-utilizadas)\n- [🏗️ Arquitetura e Padrões](#️-arquitetura-e-padrões)\n- [⚙️ Configuração e Instalação](#️-configuração-e-instalação)\n- [📁 Estrutura do Projeto](#-estrutura-do-projeto)\n- [👨‍💻 Desenvolvedor](#-desenvolvedor)\n- [Contribua para o Projeto](#-Contribua para o projeto)\n\n\n---\n\n## 📖 Sobre o Projeto\n\nUma calculadora web moderna desenvolvida com React e TailwindCSS, oferecendo uma interface elegante e funcional para cálculos matemáticos. O projeto inclui histórico de operações persistente e design responsivo.\n\n### ✨ Funcionalidades\n\n- 🧮 Operações matemáticas básicas\n- 📊 Histórico de operações\n- 💾 Persistência de dados no localStorage\n- 📱 Design responsivo\n- 🎨 Interface moderna com gradientes\n\n---\n\n## 🚀 Tecnologias Utilizadas\n\n### **Frontend**\n\n- **React 19.1.0** - Biblioteca JavaScript para construção de interfaces\n- **Vite 6.3.5** - Build tool e dev server\n- **TailwindCSS 4.1.5** - Framework CSS utilitário\n- **JavaScript ES6+** - Linguagem de programação\n\n### **Ferramentas de Desenvolvimento**\n\n- **ESLint 9.25.0** - Linter para JavaScript\n- **SWC** - Compilador JavaScript rápido\n- **Bun** - Runtime JavaScript e package manager\n\n---\n\n## 🏗️ Arquitetura e Padrões\n\n### **Padrões de Projeto**\n\n- **Context API** - Gerenciamento de estado global\n- **Component-Based Architecture** - Componentes reutilizáveis\n- **Custom Hooks** - Lógica reutilizável\n- **CSS-in-JS com TailwindCSS** - Estilização moderna\n\n### **Estrutura de Componentes**\n\n```\nsrc/\n├── components/          # Componentes reutilizáveis\n│   ├── Calculator.jsx   # Componente principal da calculadora\n│   ├── Button.jsx       # Botões da calculadora\n│   ├── Display.jsx      # Display de resultados\n│   └── ...\n├── context/             # Context API\n│   └── CalculatorContext.jsx\n├── hooks/               # Custom hooks\n└── constants/           # Constantes do projeto\n```\n\n---\n\n## ⚙️ Configuração e Instalação\n\n### **Pré-requisitos**\n\n- Node.js (versão 18 ou superior)\n- Bun (recomendado) ou npm\n\n### **Instalação**\n\n1. **Clone o repositório**\n\n```bash\ngit clone https://github.com/emmanuelmarcosdeoliveira/calculator\ncd calculator\n```\n\n2. **Instale as dependências**\n\n```bash\n# Com Bun (recomendado)\nbun install\n\n# Ou com npm\nnpm install\n```\n\n3. **Execute o projeto**\n\n```bash\n# Desenvolvimento\nbun dev\n# ou\nnpm run dev\n\n# Build para produção\nbun build\n# ou\nnpm run build\n```\n\n4. **Acesse o projeto**\n\n```\nhttp://localhost:5173\n```\n\n### **Scripts Disponíveis**\n\n- `dev` - Inicia o servidor de desenvolvimento\n- `build` - Gera build de produção\n- `preview` - Visualiza o build de produção\n- `lint` - Executa o linter\n\n---\n\n## 📁 Estrutura do Projeto\n\n```\ncalculator/\n├── src/\n│   ├── assets/          # Recursos estáticos\n│   ├── components/      # Componentes React\n│   ├── context/         # Context API\n│   ├── hooks/           # Custom hooks\n│   ├── constants/       # Constantes\n│   ├── App.jsx          # Componente principal\n│   ├── main.jsx         # Ponto de entrada\n│   └── index.css        # Estilos globais\n├── public/              # Arquivos públicos\n├── index.html           # HTML principal\n├── vite.config.js       # Configuração do Vite\n├── package.json         # Dependências e scripts\n└── README.md           # Documentação\n```\n\n---\n\n## 👨‍💻 Desenvolvedor\n\n**Desenvolvido por Emmanuel Oliveira | OFS**\n\n- 🚀 Desenvolvedor Full Stack\n- 💻 Especialista em React e JavaScript\n- 🎨 Apaixonado por UI/UX\n- 📚 Sempre em busca de aprendizado\n\n---\n\n\u003cimg height=\"64px\" src=\"https://res.cloudinary.com/delo0gvyb/image/upload/v1752287431/profile_mjvmdb.png\"\u003e\u003cbr\u003e\n\u003csmall\u003eEmmanuel Oliveira\u003c/small\u003e\n\ndeveloped by 💖 [Emmanuel Oliveira](https://www.linkedin.com/feed/?trk=homepage-basic_sign-in-submit)\u003cbr\u003e\n\u0026copy; Todos os Direitos Reservados\n\n## Contribua para o projeto\n\n\u003e Clique na seta abaixo e veja como você pode contribuir para o projeto\n\n\u003cdetails close\u003e\n\u003csummary\u003eComo fazer uma contribuição ao Projeto ?\u003c/summary\u003e\n \n - Familiarize-se com a documentação do projeto, que geralmente inclui guias de instalação.\u003cbr\u003e\n- Explore o código do projeto para entender sua estrutura e funcionamento.\n\u003cbr\u003e\n\n**Faça um Fork**\n\n- Crie uma cópia (fork) do repositório original em sua conta do GitHub.\u003cbr\u003e\n\n\u003cimg alt=\"Static Badge\" src=\"https://img.shields.io/badge/-path?style=social\u0026logo=git\u0026label=GitHub%20Docs\u0026color=%23000\"\u003e\n\u003ca href=\"https://docs.github.com/pt/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo\"\u003e\u003c/a\u003e\n\n**Clone o Repositório**\n\nIsso criará uma cópia local do projeto, onde você poderá fazer suas modificações.\n\n\u003cimg alt=\"Static Badge\" src=\"https://img.shields.io/badge/-path?style=social\u0026logo=git\u0026label=GitHub%20Docs\u0026color=%23000\"\u003e\n\u003ca href=\"https://docs.github.com/pt/repositories/creating-and-managing-repositories/cloning-a-repository\"\u003e\u003c/a\u003e\n\n**Crie uma Nova Branch:**\n\n- Crie uma nova branch para isolar suas alterações.\u003cbr\u003e\n- Isso facilita a organização do seu trabalho e a criação de pull requests.\u003cbr\u003e\n\n**Faça as Alterações:**\n\n- Crie funcionalidades, mude estilos ou resolva `bugs` que iram contribuir para a melhoria do Projeto.\u003cbr\u003e\n\n**Crie um Pull Request:**\n\n- Inclua uma descrição clara das suas alterações e explique como elas resolvem o problema ou melhoram o projeto.\u003cbr\u003e\n- Solicitação: Envie um pull request para o repositório original, solicitando que suas alterações sejam incorporadas ao projeto.\n  \u003cbr\u003e\n\n**Revise e Responda a Feedback:**\n\n- Colabore: Os mantenedores do projeto podem solicitar alterações ou fornecer feedback sobre o seu código.\n\n\u003c/details\u003e\n\n## Contact\n\n[![Lindekin](https://img.shields.io/badge/--path?style=social\u0026logo=Linkedin\u0026logoColor=%230664C1\u0026logoSize=auto\u0026label=Linkedin\u0026labelColor=%23fff\u0026cacheSeconds=https%3A%2F%2Fwww.linkedin.com%2Fin%2Femmanuel-marcos-oliveira%2F)](https://www.linkedin.com/in/emmanuel-marcos-oliveira/)\n[![WhatsApp](https://img.shields.io/badge/--path?style=social\u0026logo=WhatsApp\u0026logoColor=%231F3833\u0026logoSize=auto\u0026label=WhatsApp\u0026color=%23fff\u0026cacheSeconds=https%3A%2F%2Fwa.me%2F5511968336094)](https://wa.me/5511968336094)\n\u003ca href=\"mailto:ofs.dev.br@gmail.com\"\u003e\u003cimg alt=\"Static Badge\" src=\"https://img.shields.io/badge/--path?style=social\u0026logo=Gmail\u0026logoSize=auto\u0026label=Gmail\u0026cacheSeconds=--query\u0026link=mailto%3Adev-oliveira%40outlook.com.br%22\"\u003e \u003c/a\u003e\n\n\u003csub\u003e😁Obrigado por chegar até aqui!\u003csub\u003e\n\n## License\n\n![Static Badge](https://img.shields.io/badge/--path?style=plastic\u0026logo=mit\u0026logoSize=auto\u0026label=license%20MIT\u0026labelColor=%23555555\u0026color=%2397CA00)\u003cbr\u003e\nReleased in 2025 This project is under the **MIT license**\u003cbr\u003e\n\u003cbr\u003e\n\n[`voltar ao topo`](#-calculadora--ofs)\n\n\u003cdiv align=\"center\"\u003e\n\n**⭐ Se este projeto foi útil para você, considere dar uma estrela!**\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femmanuelmarcosdeoliveira%2Fcalculator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femmanuelmarcosdeoliveira%2Fcalculator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femmanuelmarcosdeoliveira%2Fcalculator/lists"}