Skip to content

A sleek and accurate unit converter app built with Python Tkinter. Supports length, weight, temperature, volume, and more — with real-time conversion and modern UI.

License

Notifications You must be signed in to change notification settings

sabbirahmad12/unit-converter-application

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unit Converter Application

Python Version License Status Maintenance

A modern, feature-rich unit converter application built with Python and Tkinter, designed for precise and efficient unit conversions across multiple categories.

FeaturesInstallationUsageContributing

🌟 Key Features

Conversion Categories

  • Length: Meters, Kilometers, Miles, Feet, Inches, etc.
  • Weight: Kilograms, Pounds, Ounces, Grams, etc.
  • Temperature: Celsius, Fahrenheit, Kelvin
  • Area: Square Meters, Square Feet, Acres, Hectares, etc.
  • Volume: Liters, Gallons, Cubic Meters, etc.
  • Speed: Kilometers per hour, Miles per hour, Meters per second
  • Time: Seconds, Minutes, Hours, Days, etc.
  • Pressure: Pascal, Bar, PSI, Atmosphere, etc.
  • Energy: Joules, Calories, Kilowatt-hours, etc.

User Interface Features

  • 🎨 Modern and intuitive design
  • 📱 Responsive layout
  • 🔄 Quick unit swapping
  • ⚡ Real-time conversion
  • 🎯 High precision calculations

🚀 Getting Started

Prerequisites

  • Python 3.8 or higher
  • pip (Python package installer)
  • Git (for cloning the repository)

Installation

Clone the repository:

git clone https://github.com/sabbirahmad12/unit-converter-application.git
cd unit-converter-application

Install required dependencies:

pip install -r requirements.txt

Running the Application

python main.py

💻 Usage

Basic Conversion

  1. Select the conversion category
  2. Enter the value to convert
  3. Choose source and target units
  4. Click "Convert" or press Enter
  5. View the result

Advanced Features

  • Use the swap button (↔) to quickly switch between units
  • Copy results to clipboard with Ctrl+C
  • Toggle between light and dark themes
  • Adjust precision in settings

📁 Project Structure

unit-converter-application/
│
├── main.py                   # Application entry point
├── config.py                 # Configuration and constants
├── theme_manager.py          # Theme management
├── converter_engine/         # Core conversion logic
│   ├── __init__.py
│   ├── length_converter.py
│   ├── weight_converter.py
│   └── ...
└── ui/                       # User interface components
    ├── home_page.py
    ├── area_page.py
    └── ...

🛠️ Technical Details

Architecture

  • Built with Python 3.8+
  • Uses Tkinter for GUI
  • Implements object-oriented design patterns
  • Follows PEP 8 style guidelines
  • Modular and extensible architecture

Design Patterns

  • MVC (Model-View-Controller)
  • Factory Pattern for converter creation
  • Strategy Pattern for conversion algorithms
  • Observer Pattern for theme changes

Code Quality

  • Type hints for better code maintainability
  • Comprehensive error handling
  • Unit tests for core functionality
  • Documentation for all public methods

🤝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Development Guidelines

  • Follow PEP 8 style guide
  • Write meaningful commit messages
  • Add tests for new features
  • Update documentation as needed
  • Keep code modular and reusable

📝 License

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

📧 Contact & Support

🙏 Acknowledgments

  • Thanks to all contributors
  • Inspired by various open-source projects
  • Built with ❤️ for the Python community

Made with ❤️ by Md Sabbir Ahmad

Report BugRequest Feature

About

A sleek and accurate unit converter app built with Python Tkinter. Supports length, weight, temperature, volume, and more — with real-time conversion and modern UI.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages