Skip to content

Convert any unit in the blink of an eye. Simple, fast, and accurate - all in one place.

License

Notifications You must be signed in to change notification settings

oheyek/MeasureKit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MeasureKit Logo MeasureKit

Python Version License Platform Docker Pulls Documentation Live Demo

A powerful web application for unit conversions with an intuitive interface.

✨ Features

  • Multi-Unit Conversions: Convert lengths, temperatures, and weights with precision.
  • Real-Time Calculations: Instant conversions as you type.
  • Web-Based Interface: Accessible from any device with a browser.
  • Accurate Results: High-precision calculations for all supported units.
  • Simple and Fast: Convert any unit in the blink of an eye.
  • Cross-Platform: Works seamlessly on Windows, macOS, and Linux.
  • Containerized: Available as a Docker image for easy deployment.
  • Comprehensive Testing: Thoroughly tested for reliability.

🛠️ Installation

Using Docker (Recommended)

  1. Pull the Docker image:
    docker pull oheyek/measure-kit
  2. Run the container:
    docker run -p 5000:5000 oheyek/measure-kit
  3. Open your browser and go to http://localhost:5000

Running from Source

# Clone the repository
git clone https://github.com/oheyek/MeasureKit.git
cd MeasureKit

# Install dependencies
pip install -r requirements.txt

# Run the application
python app.py

🎯 Usage

  1. Open the application in your browser (locally or online at https://measure-kit-latest.onrender.com/).
  2. Select the type of conversion: Length, Temperature, or Weight.
  3. Enter the value and select the units.
  4. View the converted result instantly.

📋 Supported Conversions

Category Units Available
Length Meters, Feet, Inches, Centimeters, etc.
Temperature Celsius, Fahrenheit, Kelvin
Weight Kilograms, Pounds, Ounces, Grams, etc.

🔧 Technical Details

  • Language: Python 3.14+
  • Web Framework: Flask 3.1.2+
  • WSGI Server: Gunicorn 23.0.0+
  • Testing: pytest 9.0.2+
  • Deployment: Docker, Render

Key Dependencies

flask>=3.1.2
gunicorn>=23.0.0
pytest>=9.0.2

🏗️ Building from Source

Docker Build

# Build the Docker image
docker build -t measure-kit .

# Run the container
docker run -p 5000:5000 measure-kit

🗂️ Project Structure

MeasureKit/
├── app.py                     # Flask application entry point
├── src/
│   ├── __init__.py
│   ├── base.py                # Base conversion logic
│   ├── convertion_handler.py  # Conversion handler
│   ├── length.py              # Length conversions
│   ├── temperatures.py        # Temperature conversions
│   ├── weight.py              # Weight conversions
│   └── tests/
│       ├── __init__.py
│       ├── test_lengths.py    # Length tests
│       ├── test_temperatures.py # Temperature tests
│       └── test_weights.py    # Weight tests
├── static/
│   ├── css/
│   │   └── style.css          # Stylesheets
│   └── img/
│       ├── icon-doxygen.png
│       ├── icon.ico
│       └── icon.png           # Icons
├── templates/
│   ├── base.html              # Base template
│   ├── index.html             # Home page
│   ├── length.html            # Length converter
│   ├── temperature.html       # Temperature converter
│   └── weight.html            # Weight converter
├── pyproject.toml             # Project configuration
├── requirements.txt           # Python dependencies
├── Dockerfile                 # Docker configuration
├── LICENSE                    # MIT License
└── README.md                  # This file

🧪 Testing

The project includes comprehensive unit tests for all conversion functions.

Running Tests

# Install test dependencies
pip install pytest

# Run all tests
pytest

# Run specific test file
pytest tests/test_lengths.py

# Run with verbose output
pytest -v

Test Coverage

  • Length Tests: Various unit conversions and edge cases
  • Temperature Tests: Celsius, Fahrenheit, Kelvin conversions
  • Weight Tests: Kilograms, pounds, ounces, etc.

🤝 Contributions

Contributions are welcome! Here's how you can help:

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

📄 License

This project is open-source and available under the MIT License.


Happy Converting! 🎉

Author

Made with ❤️ by ohey
Buy Me A Coffee


If you find this project useful, consider buying me a coffee! ☕

About

Convert any unit in the blink of an eye. Simple, fast, and accurate - all in one place.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •