Skip to content

VAXPAPPS/vbinary

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

VBinary - Number Base Converter

A professional and fast Flutter application for converting numbers between different numeral systems (Binary, Octal, Decimal, Hexadecimal) with an elegant user interface and modern design.


✨ Key Features

πŸ”„ Fast and Accurate Conversion

  • Instant conversion between 4 numeral systems:
    • Binary (2): Binary number system
    • Octal (8): Octal number system
    • Decimal (10): Decimal number system
    • Hexadecimal (16): Hexadecimal number system

βœ… Smart Input Validation

  • Real-time validation of number correctness
  • Clear and helpful error messages
  • Automatic prevention of incorrect inputs

🎨 Modern User Interface

  • Glass Morphism design (glass-like effects)
  • Professional dark theme that's easy on the eyes
  • Smooth and fluid animations
  • Instant response to user input

πŸ—οΈ Clean and Powerful Architecture

  • Clean Architecture with complete separation of concerns
  • BLoC Pattern for effective state management
  • Maintainable and developable code
  • Easy to add new features

⚑ High Performance

  • Instant conversions even for very large numbers
  • Responsive interface with no lag
  • Low resource consumption

πŸš€ Quick Start

Requirements

- Flutter 3.9.2 or later
- Dart 3.9.2 or later
- Linux / macOS / Windows

Installation and Running

# 1. Install dependencies
cd /home/x/Desktop/Vaxp-Template
flutter pub get

# 2. Run the application
flutter run -d linux   # or macos or windows

# 3. Or from VS Code
# Press F5 for direct run

Usage

1. Enter the number you want to convert
2. Select the source numeral system (from)
3. Select the target numeral system (to)
4. Press the "Convert" button
5. Click the result to copy it automatically

πŸ“Š Conversion Examples

From Input To Result
Decimal 255 Hexadecimal FF
Hexadecimal FF Binary 11111111
Binary 1010 Decimal 10
Decimal 64 Octal 100
Octal 77 Decimal 63
Hexadecimal ABC Decimal 2748

πŸ—οΈ Architecture Structure

The project follows Clean Architecture with BLoC:

lib/
β”œβ”€β”€ domain/                 # Domain (Business Logic)
β”‚   β”œβ”€β”€ entities/
β”‚   β”œβ”€β”€ repositories/
β”‚   └── usecases/
β”œβ”€β”€ data/                   # Data (Implementation)
β”‚   └── repositories/
β”œβ”€β”€ application/            # Application (State Management)
β”‚   β”œβ”€β”€ blocs/
β”‚   β”œβ”€β”€ events/
β”‚   └── states/
β”œβ”€β”€ presentation/           # Presentation (UI)
β”‚   β”œβ”€β”€ screens/
β”‚   └── widgets/
β”œβ”€β”€ infrastructure/         # Infrastructure
β”‚   └── services/
└── core/                   # Core Elements
    β”œβ”€β”€ colors/
    β”œβ”€β”€ theme/
    └── text/

πŸ”§ Main Components

Domain Layer

  • ConversionResult: Entity representing the result
  • NumberRepository: Contract interface
  • UseCases: Use cases (conversion, validation, numeral systems)

Data Layer

  • NumberRepositoryImpl: Actual conversion implementation
  • Precise and fast conversion algorithms

Application Layer

  • NumberConversionBloc: State management
  • Events: Events (convert, validate, clear)
  • States: States (loading, success, error)

Presentation Layer

  • ConverterScreen: Main screen
  • BaseSelector: System selection
  • NumberInputField: Number input field
  • ResultDisplay: Result display

πŸ“š Used Packages

flutter_bloc: ^8.1.6    # State management
bloc: ^8.1.4            # Core logic
equatable: ^2.0.5       # Object comparison
window_manager: ^0.5.1  # Window management
venom_config: ^0.0.1    # Settings system

🎨 Design and Colors

Color System

  • Primary: Dark gray used for main elements
  • Secondary: Blue for secondary elements
  • Glass Surface: Transparent glass effect

Effects

  • ✨ Glassmorphism: Professional glass effect
  • πŸŒ€ Blur: Smooth blur effect
  • 🎭 Smooth Animations: Fluid movements
  • 🎨 Dark Theme: Modern dark theme

πŸ”„ Workflow

User enters a number
        ↓
Selects input and output systems
        ↓
Presses "Convert" button
        ↓
BLoC validates input
        ↓
Repository performs conversion
        ↓
State emits result
        ↓
Interface displays result

βœ… Quality Standards

  • βœ… Clean and organized code (Clean Code)
  • βœ… Dart and Flutter standards (Linting)
  • βœ… Comprehensive error handling
  • βœ… Clear error messages
  • βœ… Professional user interface
  • βœ… High and fast performance
  • βœ… Maintainable and developable

🎯 Use Cases

  • πŸ’» Systems Programming: Understanding binary and Hex values
  • πŸŽ“ Education: Learning numeral systems
  • 🎨 Design: Converting RGB/HEX colors
  • 🌐 Networking: IP calculations and masks
  • πŸ“± Development: Data values and addresses

πŸš€ Planned Future Features

  • πŸ“‹ Conversion history
  • πŸ”„ Batch conversion (Multiple conversions)
  • πŸ’Ύ Save favorites
  • 🌐 Multi-language support
  • 🎨 Theme and color customization
  • πŸ“Š Usage statistics

πŸ“ Important Notes

  • Clean and easy-to-use interface
  • Large numbers are fully supported
  • Hexadecimal supports both A-F and a-f
  • Conversion is instant with no delay
  • Interface is intuitive for everyone

πŸ› Troubleshooting

Problem: "Invalid number for the system"

Solution: Make sure the numbers are correct:

  • Binary: Only 0 and 1
  • Octal: 0-7
  • Decimal: 0-9
  • Hexadecimal: 0-9, A-F

Problem: Empty field

Solution: Enter a number before pressing convert

Problem: Unresponsive

Solution: Make sure:

  • All dependencies are installed (flutter pub get)
  • Flutter is working correctly (flutter doctor)

πŸ‘¨β€πŸ’» Contributing and Development

To add new features, follow the existing structure:

  1. Add UseCase in domain/usecases/
  2. Add Implementation in data/repositories/
  3. Add Event/State in application/
  4. Add Widget/Screen in presentation/

πŸ“ž Support and References


πŸ“„ License

VAXP organization projects

About

A professional and fast Flutter application for converting numbers between different numeral systems (Binary, Octal, Decimal, Hexadecimal) with an elegant user interface and modern design.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors