{"id":33319259,"url":"https://github.com/1ynies/smart_calculator","last_synced_at":"2026-04-15T05:32:16.521Z","repository":{"id":324461443,"uuid":"1096747938","full_name":"1ynies/smart_calculator","owner":"1ynies","description":"A smart calculator app , that contains calculator and converter with GetX for state management and clean architecture for project's structre and SQLite for local storage .","archived":false,"fork":false,"pushed_at":"2025-11-15T23:45:14.000Z","size":615,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-16T01:22:40.737Z","etag":null,"topics":["android-application","clean-architecture","flutter","flutterpackage","getx-state-management","ios-app","sqlite","svg-icons"],"latest_commit_sha":null,"homepage":"","language":"Dart","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/1ynies.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-14T22:19:25.000Z","updated_at":"2025-11-15T23:59:29.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/1ynies/smart_calculator","commit_stats":null,"previous_names":["1ynies/smart_calculator"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/1ynies/smart_calculator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1ynies%2Fsmart_calculator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1ynies%2Fsmart_calculator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1ynies%2Fsmart_calculator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1ynies%2Fsmart_calculator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/1ynies","download_url":"https://codeload.github.com/1ynies/smart_calculator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1ynies%2Fsmart_calculator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31828531,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T18:05:02.291Z","status":"online","status_checked_at":"2026-04-15T02:00:06.175Z","response_time":63,"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":["android-application","clean-architecture","flutter","flutterpackage","getx-state-management","ios-app","sqlite","svg-icons"],"created_at":"2025-11-19T20:00:29.318Z","updated_at":"2026-04-15T05:32:16.512Z","avatar_url":"https://github.com/1ynies.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🧮 Smart Calculator\n\n\u003cimg src=\"assets/images/app_icon.png\" width=\"100\" alt=\"App logo\"\u003e\n\nA comprehensive Flutter application that combines a powerful calculator with multiple unit converters, providing users with essential mathematical and conversion tools in one convenient app, built with Clean Architecture principles and featuring a stunning UI.\n\n## 📱 Screenshots\n\n\u003c!-- Add your screenshots here --\u003e\n\n\u003cdiv align=\"center\"\u003e\n   \u003cimg src=\"lib/ScreenShots/splash_screen.jpg\" width=\"200\" /\u003e\n  \n  \u003cimg src=\"lib/ScreenShots/calculator_screen.jpg\" width=\"200\" /\u003e\n  \u003cimg src=\"lib/ScreenShots/1763770424850.jpg\" width=\"200\" /\u003e\n  \u003cimg src=\"lib/ScreenShots/converter_screen.jpg\" width=\"200\" /\u003e\n  \u003cimg src=\"lib/ScreenShots/volume_converter_screen.jpg\" width=\"200\" /\u003e\n  \u003cimg src=\"lib/ScreenShots/time_converter_screen.jpg\" width=\"200\" /\u003e\n  \u003cimg src=\"lib/ScreenShots/age_calculator_screen.jpg\" width=\"200\" /\u003e\n  \u003cimg src=\"lib/ScreenShots/temperature_converter_screen.jpg\" width=\"200\" /\u003e\n\n  \u003cimg src=\"lib/ScreenShots/discount_calculator_screen.jpg\" width=\"200\" /\u003e\n  \u003cimg src=\"lib/ScreenShots/data_converter_screen.jpg\" width=\"200\" /\u003e\n  \n\u003c/div\u003e\n\n## ✨ Features\n\n- 🧮 **Advanced Calculator**: Perform basic and advanced mathematical operations\n- 🔄 **Multiple Converters**: Convert between various units (Volume, Data, Age, Discount, Time, Temperature)\n- ✅ **Input Validation**: Smart validation for accurate calculations and conversions\n- 🎨 **Beautiful UI**: Clean, modern interface with intuitive design\n- 📱 **Responsive Design**: Adaptive UI that works seamlessly across different screen sizes\n- ⚡ **Fast \u0026 Efficient**: Optimized performance with proper state management\n- 🏗️ **Clean Architecture**: Well-structured codebase following Clean Architecture principles\n\n## 🎨 Design\n\n- **Color Scheme**: Modern theme with elegant styling\n- **Typography**: Poppins font family for a modern, clean look\n- **Material Design**: Latest Material Design guidelines\n- **Smooth Interactions**: Engaging user experience with responsive feedback\n\n## 🏗️ Architecture\n\nThis project follows **Clean Architecture** principles with clear separation of concerns:\n\n```\nlib/\n├── core/\n│   └── theme.dart                    # App-wide theme configurations\n├── data/\n│   ├── models/\n│   │   └── calculation_model.dart    # Data model for calculations\n│   └── repositories/\n│       ├── calculator_repository_impl.dart  # Calculator repository implementation\n│       └── converter_repository_impl.dart   # Converter repository implementation\n├── domain/\n│   ├── entities/\n│   │   ├── calculation.dart          # Calculation entity\n│   │   └── converter.dart            # Converter entity\n│   ├── repository/\n│   │   ├── calculator_repository.dart # Calculator repository interface\n│   │   └── converter_repository.dart  # Converter repository interface\n│   └── usecases/\n│       ├── calculate.dart            # Calculate use case\n│       └── convert_unit.dart         # Convert unit use case\n└── presentation/\n    ├── controller/\n    │   ├── calculator_controller.dart # Calculator state management\n    │   └── converter_controller.dart  # Converter state management\n    ├── Screen/\n    │   ├── age_calculator_screen.dart      # Age calculator screen\n    │   ├── calculator_screen.dart          # Main calculator screen\n    │   ├── converter_screen.dart           # Converter selection screen\n    │   ├── data_converter_screen.dart      # Data converter screen\n    │   ├── discount_calculator_screen.dart # Discount calculator screen\n    │   ├── homepage_screen.dart            # Home page screen\n    │   ├── onboarding_screen.dart          # Onboarding screen\n    │   ├── splash_screen.dart              # Splash screen\n    │   ├── standard_converter_screen.dart  # Standard converter screen\n    │   ├── temperature_converter_screen.dart # Temperature converter screen\n    │   ├── time_converter_screen.dart      # Time converter screen\n    │   └── volume_converter_screen.dart    # Volume converter screen\n    └── widgets/\n        ├── calculator_button_widget.dart   # Calculator button widget\n        ├── Clickable_converter_widget.dart # Clickable converter widget\n        ├── input_card_widget.dart          # Input card widget\n        └── output_card_widet.dart          # Output card widget\n```\n\n### Architecture Layers\n\n1. **Domain Layer**: Contains business logic, entities, and repository interfaces\n2. **Data Layer**: Implements repositories and handles data operations\n3. **Presentation Layer**: UI components, state management, and user interactions\n\n## 🛠️ Technologies \u0026 Packages\n\n- **Flutter SDK**: ^3.9.2\n- **GetX**: ^4.7.2 - State management\n- **Sqflite**: ^2.4.2 - Local database\n- **Flutter SVG**: ^2.2.2 - SVG icon support\n- **Clean Architecture**: Design pattern for maintainable code\n\n## 🚀 Getting Started\n\n### Prerequisites\n\n- Flutter SDK (^3.9.2)\n- Dart SDK\n- Android Studio / VS Code\n- Android device or emulator / iOS device or simulator\n\n### Installation\n\n1. **Clone the repository**\n\n   ```bash\n   git clone https://github.com/yourusername/smart_calculator.git\n   cd smart_calculator\n   ```\n\n2. **Install dependencies**\n\n   ```bash\n   flutter pub get\n   ```\n\n3. **Run the app**\n   ```bash\n   flutter run\n   ```\n\n## 📖 How to Use\n\n### Calculator\n1. **Launch the app** and navigate to the Calculator tab\n2. **Enter numbers** using the keypad\n3. **Use operators** (+, -, ×, ÷) to build expressions\n4. **Tap \"=\"** to calculate the result\n5. **Use AC** to clear all input or backspace to delete last character\n\n### Converters\n1. **Navigate to Converter tab**\n2. **Select a converter** (Volume, Data, Age, Discount, Time, Temperature)\n3. **Enter input value** and select units\n4. **View instant conversion** results\n\n\n\n## 🎯 Key Features Explained\n\n### Calculator Operations\n\nThe calculator supports a wide range of mathematical operations:\n- **Basic Arithmetic**: Addition, subtraction, multiplication, division\n- **Advanced Operations**: Percentage calculations, decimal handling\n- **Real-time Display**: Live expression preview as you type\n- **Error Handling**: Smart validation to prevent invalid operations\n- **History**: Track previous calculations (if implemented)\n\n### Unit Conversions\n\nComprehensive unit conversion system with multiple categories:\n- **Volume**: Conversions between liters, gallons, milliliters, cubic meters, etc.\n- **Data**: Digital storage units (Bytes, KB, MB, GB, TB, PB)\n- **Age**: Age calculations in years, months, days, hours\n- **Discount**: Calculate discounts, final prices, and savings percentages\n- **Time**: Time conversions (hours, minutes, seconds, days, weeks)\n- **Temperature**: Temperature scales (Celsius, Fahrenheit, Kelvin)\n- **Standard Units**: Additional standard unit conversions\n\n### State Management\n\nImplements GetX for efficient state management:\n- **Reactive Programming**: Real-time UI updates\n- **Controller Pattern**: Separate business logic from UI\n- **Dependency Injection**: Clean separation of concerns\n- **Performance Optimized**: Minimal rebuilds and efficient data flow\n\n### Theme System\n\nComprehensive theming with:\n- **Custom Color Scheme**: Modern, accessible color palette\n- **Poppins Font Family**: Clean, readable typography\n- **Material Design 3**: Latest design guidelines\n- **Dark/Light Mode**: Adaptive theming (if implemented)\n- **Consistent Styling**: Unified look across all components\n\n### Input Validation\n\nSmart validation features:\n- **Real-time Feedback**: Immediate error detection\n- **Format Checking**: Ensures correct input formats\n- **Boundary Validation**: Prevents invalid ranges\n- **User Guidance**: Helpful error messages and hints\n\n### Responsive Design\n\nAdaptive UI that works on:\n- **Mobile Devices**: Optimized for phones and tablets\n- **Different Screen Sizes**: Flexible layouts\n- **Orientation Changes**: Portrait and landscape support\n- **Accessibility**: Screen reader support and high contrast\n\n\n\n## 🤝 Contributing\n\nWe welcome contributions to the Smart Calculator project! Here's how you can help:\n\n### How to Contribute\n\n1. **Fork the repository** on GitHub\n2. **Clone your fork** locally:\n   ```bash\n   git clone https://github.com/yourusername/smart_calculator.git\n   cd smart_calculator\n   ```\n3. **Create a feature branch**:\n   ```bash\n   git checkout -b feature/your-feature-name\n   ```\n4. **Make your changes** and ensure they follow the project structure\n5. **Test your changes** thoroughly\n6. **Commit your changes**:\n   ```bash\n   git commit -m \"Add: Brief description of your changes\"\n   ```\n7. **Push to your fork**:\n   ```bash\n   git push origin feature/your-feature-name\n   ```\n8. **Create a Pull Request** on GitHub\n\n### Guidelines\n\n- Follow the existing code style and architecture\n- Write clear, concise commit messages\n- Add tests for new features\n- Update documentation as needed\n- Ensure all tests pass before submitting\n\n### Development Setup\n\n- Use Flutter SDK ^3.9.2\n- Run `flutter pub get` to install dependencies\n- Use `flutter analyze` to check code quality\n- Run tests with `flutter test`\n\n### Reporting Issues\n\n- Use GitHub Issues to report bugs or request features\n- Provide detailed steps to reproduce bugs\n- Include device/emulator information and Flutter version\n\n## 📞 Support\n\nIf you have any questions or need help, please open an issue in the GitHub repository.\n\n---\n\n\u003cp align=\"center\"\u003eMade with ❤️ using Flutter\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1ynies%2Fsmart_calculator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F1ynies%2Fsmart_calculator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1ynies%2Fsmart_calculator/lists"}