A powerful web application for unit conversions with an intuitive interface.
- 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.
- Pull the Docker image:
docker pull oheyek/measure-kit
- Run the container:
docker run -p 5000:5000 oheyek/measure-kit
- Open your browser and go to
http://localhost:5000
# 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- Open the application in your browser (locally or online at https://measure-kit-latest.onrender.com/).
- Select the type of conversion: Length, Temperature, or Weight.
- Enter the value and select the units.
- View the converted result instantly.
| Category | Units Available |
|---|---|
| Length | Meters, Feet, Inches, Centimeters, etc. |
| Temperature | Celsius, Fahrenheit, Kelvin |
| Weight | Kilograms, Pounds, Ounces, Grams, etc. |
- Language: Python 3.14+
- Web Framework: Flask 3.1.2+
- WSGI Server: Gunicorn 23.0.0+
- Testing: pytest 9.0.2+
- Deployment: Docker, Render
flask>=3.1.2
gunicorn>=23.0.0
pytest>=9.0.2
# Build the Docker image
docker build -t measure-kit .
# Run the container
docker run -p 5000:5000 measure-kitMeasureKit/
├── 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
The project includes comprehensive unit tests for all conversion functions.
# 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- Length Tests: Various unit conversions and edge cases
- Temperature Tests: Celsius, Fahrenheit, Kelvin conversions
- Weight Tests: Kilograms, pounds, ounces, etc.
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a new feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is open-source and available under the MIT License.
Happy Converting! 🎉
If you find this project useful, consider buying me a coffee! ☕
