Skip to content

TrongAJTT/unit-converters

Repository files navigation

Unit Converters

Fast and convenient converter tools with multiple units.

A powerful collection of unit converters and calculation tools! A versatile, cross-platform Flutter application designed to provide essential conversion utilities and mathematical tools for daily use - from basic unit conversions to advanced calculations and random generators.

๐Ÿ“ธ Screenshot

โœจ Available on Windows, Android, and Web
๐ŸŒ Fully localized in English and Vietnamese
๐Ÿ“ฑ Responsive Material Design 3 interface for all screen sizes


๐Ÿš€ Core Features

๐Ÿ“ Unit Conversion Suite

Comprehensive conversion tools for all measurement needs!

๐Ÿ“ Length & Distance

  • Length Converter: Meters, feet, inches, kilometers, miles, and more
  • Area Converter: Square meters, acres, hectares, square feet

โš–๏ธ Weight & Mass

  • Mass Converter: Kilograms, pounds, grams, ounces, stones
  • Weight Converter: Various weight units with precision control

๐ŸŒก๏ธ Temperature & Energy

  • Temperature Converter: Celsius, Fahrenheit, Kelvin conversions
  • Energy calculations: Joules, calories, BTU conversions

๐Ÿ’พ Data & Computing

  • Data Converter: Bytes, KB, MB, GB, TB conversions
  • Binary calculations: Bit/byte conversions with precision

๐Ÿƒ Speed & Time

  • Speed Converter: m/s, km/h, mph, knots, and more
  • Time Converter: Seconds, minutes, hours, days, years

๐Ÿฅค Volume & Capacity

  • Volume Converter: Liters, gallons, cups, fluid ounces
  • Liquid measurements: Metric and imperial systems

๐Ÿ”ข Advanced Tools

  • Number System Converter: Binary, decimal, hexadecimal, octal
  • Currency Converter: Real-time exchange rates (when available)
  • Random Generators: Numbers, passwords, and various randomization tools

๐Ÿ—๏ธ Technical Architecture

๐Ÿ› ๏ธ Built with Modern Flutter

  • Flutter 3.0+: Cross-platform development with single codebase
  • Material Design 3: Latest Google design system implementation
  • Responsive Layouts: Adaptive UI for mobile, tablet, and desktop

๐Ÿ“š Key Dependencies

  • Hive: Fast, lightweight local database for settings and history
  • intl: Internationalization and locale-specific formatting
  • math_expressions: Mathematical expression parsing and evaluation
  • shared_preferences: System-level preference storage
  • window_manager: Desktop window management capabilities

๐Ÿ”’ Security & Privacy

  • Local Storage: All data and preferences remain on device
  • Secure Calculations: Reliable mathematical computations
  • No Tracking: Zero analytics or user behavior monitoring
  • Offline Capable: Core functionality works without internet

๐ŸŒ Cross-Platform Support

  • Windows: Full desktop experience with window management
  • Android: Native mobile interface with touch optimization
  • Web: Browser-compatible version with responsive design
  • Future: iOS and macOS support planned

๐ŸŒŸ Key Advantages

โšก Performance Optimized

  • Lightning-fast calculations and conversions
  • Minimal memory footprint with efficient algorithms
  • Smooth 60fps animations and transitions
  • Instant startup and response times

๐ŸŽจ User Experience

  • Intuitive Material Design 3 interface
  • Consistent experience across all platforms
  • Customizable tool visibility and ordering
  • Contextual help and guidance for each converter

โš™๏ธ Highly Configurable

  • Extensive settings for personalizing experience
  • Tool-specific configuration options
  • Import/export settings for backup
  • Decimal precision control for calculations

๐ŸŒ Accessibility & Localization

  • Vietnamese and English localization
  • Screen reader compatibility
  • High contrast mode support
  • Keyboard navigation support

๐Ÿ› ๏ธ Installation & Setup

๐Ÿš€ Getting Started

  1. Download: Get the latest release for your platform
  2. Install: Follow platform-specific installation instructions
  3. Configure: Set your preferred language, theme, and decimal precision
  4. Customize: Arrange conversion tools according to your needs

๐Ÿ–ฅ๏ธ System Requirements

  • Windows: Windows 10 1903 or later
  • Android: Android 7.0 (API level 24) or higher
  • Web: Modern browser with JavaScript enabled
  • RAM: Minimum 2GB available memory

๐Ÿ—๏ธ Development Setup

# Clone the repository
git clone https://github.com/TrongAJTT/unit-converters.git

# Navigate to project directory
cd unit-converters

# Install dependencies
flutter pub get

# Run the app
flutter run

๐Ÿ“ Project Structure

lib/
โ”œโ”€โ”€ main.dart                    # App entry point and main configuration
โ”œโ”€โ”€ variables.dart               # Global variables and constants
โ”œโ”€โ”€ controllers/                 # State management and business logic
โ”œโ”€โ”€ models/                      # Data models and Hive adapters
โ”‚   โ”œโ”€โ”€ settings_model.dart      # App settings model
โ”‚   โ””โ”€โ”€ random_models/           # Random generator state models
โ”œโ”€โ”€ services/                    # Core services and utilities
โ”‚   โ”œโ”€โ”€ hive_service.dart        # Database service
โ”‚   โ”œโ”€โ”€ settings_service.dart    # Settings management
โ”‚   โ”œโ”€โ”€ cache_service.dart       # Cache management
โ”‚   โ”œโ”€โ”€ number_format_service.dart # Number formatting
โ”‚   โ””โ”€โ”€ converter_services/      # Conversion logic services
โ”œโ”€โ”€ screens/                     # App screens and UI pages
โ”‚   โ”œโ”€โ”€ converter_tools_screen.dart # Main converter tools screen
โ”‚   โ”œโ”€โ”€ main_settings.dart       # Settings screen
โ”‚   โ””โ”€โ”€ about_layout.dart        # About page
โ”œโ”€โ”€ widgets/                     # Reusable UI components
โ”‚   โ””โ”€โ”€ generic/                 # Generic reusable widgets
โ”œโ”€โ”€ layouts/                     # Layout components
โ”œโ”€โ”€ utils/                       # Helper functions and utilities
โ”œโ”€โ”€ view_models/                 # View models for MVVM pattern
โ”œโ”€โ”€ parsers/                     # Data parsing utilities
โ””โ”€โ”€ l10n/                        # Localization files
    โ”œโ”€โ”€ app_localizations.dart   # Localization setup
    โ”œโ”€โ”€ app_en.arb              # English translations
    โ””โ”€โ”€ app_vi.arb              # Vietnamese translations

๐Ÿงฎ Available Converters

๐Ÿ“ Physical Measurements

  • Length: mm, cm, m, km, in, ft, yd, mi, nautical miles
  • Area: mยฒ, kmยฒ, ftยฒ, inยฒ, acres, hectares
  • Volume: L, mL, gal, qt, pt, cup, fl oz, mยณ, ftยณ
  • Mass/Weight: g, kg, lb, oz, stone, ton, metric ton

๐ŸŒก๏ธ Scientific Units

  • Temperature: Celsius, Fahrenheit, Kelvin, Rankine
  • Speed: m/s, km/h, mph, ft/s, knots, mach
  • Time: seconds, minutes, hours, days, weeks, months, years

๐Ÿ’ป Digital Units

  • Data Storage: bit, byte, KB, MB, GB, TB, PB
  • Number Systems: Binary, Octal, Decimal, Hexadecimal
  • Currency: Multiple currencies with exchange rates

โค๏ธ Support This Project

You can support the development of this project via:

Your support helps maintain and improve the application with new features and bug fixes.

๐Ÿค Contributing

Contributions are welcome! Feel free to:

  • Report bugs and issues
  • Suggest new conversion units or tools
  • Improve translations (English/Vietnamese)
  • Enhance documentation
  • Submit pull requests for new features

๐Ÿ› Bug Reports

Please include:

  • Device/platform information
  • Steps to reproduce the issue
  • Expected vs actual behavior
  • Screenshots if applicable

๐Ÿ’ก Feature Requests

  • Describe the new converter or feature
  • Explain the use case and benefits
  • Provide examples if possible

๐Ÿ“„ License

This project is licensed under the GPL-3.0 License - see the LICENSE file for details.

License: GPL v3

๐Ÿ™ Credits

Built with love using Flutter and these amazing open-source libraries:

  • Flutter SDK
  • Hive Database
  • Material Design 3
  • Window Manager
  • Shared Preferences
  • And many other wonderful packages

Made with โค๏ธ by TrongAJTT

Star โญ this repo if you find it useful!