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! β
