{"id":26542737,"url":"https://github.com/bleckwolf25/thegreatcalculator","last_synced_at":"2025-10-13T15:11:06.539Z","repository":{"id":257206103,"uuid":"857616426","full_name":"BleckWolf25/TheGreatCalculator","owner":"BleckWolf25","description":"A super advanced, performant, responsive, accessible and ease of use calculator.","archived":false,"fork":false,"pushed_at":"2025-06-09T12:52:27.000Z","size":657,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-09T13:29:15.228Z","etag":null,"topics":["app","calculator","calculator-application","calculator-javascript","html-css-javascript","html5","webapp","webapplication"],"latest_commit_sha":null,"homepage":"https://bleckwolf25.github.io/TheGreatCalculator/","language":"JavaScript","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/BleckWolf25.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-09-15T06:11:43.000Z","updated_at":"2025-06-09T12:52:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"d4ea2dd1-f336-45d8-bd45-83728e03f1ea","html_url":"https://github.com/BleckWolf25/TheGreatCalculator","commit_stats":null,"previous_names":["jotaryt/thegreatcalculator","bleckwolf25/thegreatcalculator"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/BleckWolf25/TheGreatCalculator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BleckWolf25%2FTheGreatCalculator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BleckWolf25%2FTheGreatCalculator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BleckWolf25%2FTheGreatCalculator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BleckWolf25%2FTheGreatCalculator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BleckWolf25","download_url":"https://codeload.github.com/BleckWolf25/TheGreatCalculator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BleckWolf25%2FTheGreatCalculator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279015904,"owners_count":26085777,"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-13T02:00:06.723Z","response_time":61,"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":["app","calculator","calculator-application","calculator-javascript","html-css-javascript","html5","webapp","webapplication"],"created_at":"2025-03-22T02:18:04.217Z","updated_at":"2025-10-13T15:11:06.533Z","avatar_url":"https://github.com/BleckWolf25.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The Great Calculator\n\nA modern, enterprise-grade scientific calculator web application with advanced features, accessibility support, and Progressive Web App capabilities. Built with a modular architecture and comprehensive testing suite.\n\n## ✨ Features\n\n### 🧮 Core Calculator Functions\n\n- **Basic Operations**: Addition, subtraction, multiplication, division\n- **Scientific Functions**: Trigonometric (sin, cos, tan), logarithmic (ln, log), exponential, factorial\n- **Advanced Math**: Square root, power functions, parentheses support\n- **Memory Operations**: Store, recall, clear memory (MS, MR, MC)\n- **Constants**: π (Pi) and other mathematical constants\n\n### 🎨 User Experience\n\n- **Dual Themes**: Dark/Light mode with system preference detection\n- **Responsive Design**: Optimized for desktop, tablet, and mobile devices\n- **Touch \u0026 Gesture Support**: Swipe gestures and haptic feedback\n- **Keyboard Navigation**: Full keyboard support with shortcuts\n- **Visual Feedback**: Button animations and state indicators\n\n### ♿ Accessibility Features\n\n- **Screen Reader Support**: ARIA labels, live regions, and semantic HTML\n- **Keyboard Navigation**: Tab order, focus management, and shortcuts\n- **Motor Accessibility**: Large touch targets, dwell control, sticky keys\n- **Cognitive Support**: Simplified interface options, confirmations, contextual help\n- **Visual Accessibility**: High contrast mode, large text, color blindness support\n- **Voice Control**: Speech recognition for hands-free operation\n\n### 📱 Progressive Web App (PWA)\n\n- **Offline Support**: Full functionality without internet connection\n- **Installable**: Add to home screen on mobile and desktop\n- **Service Worker**: Background sync and caching strategies\n- **App-like Experience**: Native app feel with web technologies\n\n### 🔧 Advanced Features\n\n- **Undo/Redo**: Multi-level operation history with state management\n- **Formula Management**: Save and recall custom formulas\n- **PDF Export**: Export calculation history and results\n- **Performance Monitoring**: Real-time performance metrics and optimization\n- **Error Boundaries**: Graceful error handling and recovery\n- **Bundle Optimization**: Code splitting and lazy loading\n\n## 🌐 Live Demo\n\nVisit **[The Great Calculator](https://the-great-calculator.vercel.app)** to try it out!\n\n## 🛠️ Technologies \u0026 Architecture\n\n### Frontend Stack\n\n- **HTML5**: Semantic markup with accessibility features\n- **CSS3**: Modern styling with CSS Grid, Flexbox, and custom properties\n- **JavaScript (ES6+)**: Modular architecture with ES modules\n- **Vite**: Build tool with HMR and optimization\n- **PWA**: Service Worker, Web App Manifest, and offline capabilities\n\n### Development Tools\n\n- **TypeScript**: Type annotations and JSDoc documentation\n- **ESLint**: Code linting with security and accessibility rules\n- **Prettier**: Code formatting and style consistency\n- **Jest**: Unit testing with 95%+ coverage requirement\n- **Playwright**: End-to-end testing and accessibility auditing\n\n### Infrastructure \u0026 Deployment\n\n- **Vercel**: Serverless deployment with edge functions\n- **GitHub Actions**: CI/CD pipeline with automated testing and deployment\n- **CodeQL**: Security analysis and vulnerability scanning\n- **Dependabot**: Automated dependency updates\n\n### Performance \u0026 Monitoring\n\n- **Web Vitals**: Core Web Vitals monitoring and optimization\n- **Bundle Analysis**: Code splitting and tree shaking\n- **Performance API**: Real-time performance metrics\n- **Error Tracking**: Comprehensive error boundary system\n\n## 🚀 Getting Started\n\n### Prerequisites\n\n- Node.js 18+ and npm\n- Modern browser with ES6+ support\n\n### Installation\n\n1. **Clone the repository:**\n\n   ```bash\n   git clone https://github.com/BleckWolf25/TheGreatCalculator.git\n   cd TheGreatCalculator\n   ```\n\n2. **Install dependencies:**\n\n   ```bash\n   npm install\n   ```\n\n3. **Start development server:**\n\n   ```bash\n   npm run dev\n   ```\n\n4. **Open your browser:**\n   Navigate to `http://localhost:3000`\n\n### Alternative: Direct Usage\n\nFor quick testing, you can open `index.html` directly in a modern browser, though some features may require a local server.\n\n## 🧪 Development\n\n### Available Scripts\n\n```bash\n# Development\nnpm run dev              # Start development server with HMR\nnpm run build           # Build for production\nnpm run preview         # Preview production build\n\n# Testing\nnpm run test            # Run unit tests\nnpm run test:coverage   # Run tests with coverage report\nnpm run test:e2e        # Run end-to-end tests\nnpm run test:all        # Run all tests\n\n# Code Quality\nnpm run lint            # Run ESLint\nnpm run lint:fix        # Fix ESLint issues\nnpm run format          # Format code with Prettier\n\n# PWA \u0026 Performance\nnpm run build:pwa       # Build PWA version\nnpm run optimize        # Run bundle optimization\nnpm run analyze         # Analyze bundle size\n\n# Deployment\nnpm run deploy          # Deploy to Vercel\nnpm run deploy:preview  # Deploy preview version\n```\n\n### Testing Strategy\n\n- **Unit Tests**: Jest with 95%+ coverage requirement\n- **E2E Tests**: Playwright for cross-browser testing\n- **Accessibility Tests**: Automated a11y auditing with axe-core\n- **Performance Tests**: Lighthouse CI and Web Vitals monitoring\n\n### Project Structure\n\n```text\nsrc/\n├── js/\n│   ├── modules/           # Modular calculator components\n│   │   ├── core/         # Core functionality (state, operations)\n│   │   ├── ui/           # User interface components\n│   │   ├── accessibility/ # Accessibility features\n│   │   ├── export/       # Export functionality\n│   │   ├── performance/  # Performance monitoring\n│   │   └── vercel/       # Vercel integration\n│   ├── main.js           # Application entry point\n│   └── moduleLoader.js   # Dynamic module loading\n├── css/                  # Stylesheets\n├── styles/               # Theme files\n└── assets/               # Static assets\n```\n\n## 🤝 Contributing\n\nWe welcome contributions! Please follow these guidelines:\n\n### Development Workflow\n\n1. **Fork the repository**\n2. **Create a feature branch:**\n\n   ```bash\n   git checkout -b feature/amazing-feature\n   ```\n\n3. **Make your changes** following our coding standards\n4. **Run tests:**\n\n   ```bash\n   npm run test:all\n   npm run lint\n   ```\n\n5. **Commit using Conventional Commits:**\n\n   ```bash\n   git commit -m \"feat(calculator): add new scientific function\"\n   ```\n\n6. **Push and create a Pull Request**\n\n### Coding Standards\n\n- **ES6+ JavaScript** with JSDoc documentation\n- **Semantic HTML5** with ARIA attributes\n- **CSS3** with custom properties and modern features\n- **95%+ test coverage** for new features\n- **Accessibility-first** development approach\n\n### Commit Message Format\n\nWe use [Conventional Commits](https://www.conventionalcommits.org/):\n\n- `feat:` New features\n- `fix:` Bug fixes\n- `docs:` Documentation changes\n- `style:` Code style changes\n- `refactor:` Code refactoring\n- `test:` Test additions/modifications\n- `chore:` Maintenance tasks\n\n## 📄 License\n\nThis project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- **Design Inspiration**: iOS Calculator and Material Design\n- **Accessibility Guidelines**: WCAG 2.1 AA standards\n- **Performance Best Practices**: Web.dev and Core Web Vitals\n- **Testing Methodologies**: Testing Library and Playwright communities\n\n## 🔄 Automated Releases\n\nThis project uses [semantic-release](https://semantic-release.gitbook.io/) for fully automated versioning and changelog generation.\n\n### How It Works\n\n- **Automated Versioning**: Version numbers determined from commit messages\n- **Changelog Generation**: Automatic changelog updates in [CHANGELOG.md](./CHANGELOG.md)\n- **GitHub Releases**: Automated release creation with release notes\n- **CI/CD Integration**: Releases triggered by GitHub Actions\n\n### Release Process\n\nReleases are automatically triggered when commits are pushed to the `main` branch. The release type is determined by commit message prefixes:\n\n- `fix:` → Patch release (1.0.1)\n- `feat:` → Minor release (1.1.0)\n- `feat!:` or `BREAKING CHANGE:` → Major release (2.0.0)\n\n## 📊 Project Status\n\n- ✅ **Production Ready**: Deployed and actively maintained\n- ✅ **PWA Compliant**: Installable with offline support\n- ✅ **Accessibility Compliant**: WCAG 2.1 AA standards\n- ✅ **Performance Optimized**: Core Web Vitals passing\n- ✅ **Security Hardened**: Regular security audits and updates\n\n## 🔗 Links\n\n- **Live Demo**: [the-great-calculator.vercel.app](https://the-great-calculator.vercel.app)\n- **Repository**: [GitHub](https://github.com/BleckWolf25/TheGreatCalculator)\n- **Issues**: [Bug Reports \u0026 Feature Requests](https://github.com/BleckWolf25/TheGreatCalculator/issues)\n- **Discussions**: [Community Discussions](https://github.com/BleckWolf25/TheGreatCalculator/discussions)\n\n---\n\n## 👨‍💻 Author\n\n**Built with ❤️ by [Bleckwolf25](https://github.com/BleckWolf25)**\n\n\u003e Making mathematics accessible to everyone\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbleckwolf25%2Fthegreatcalculator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbleckwolf25%2Fthegreatcalculator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbleckwolf25%2Fthegreatcalculator/lists"}