{"id":19483810,"url":"https://github.com/morgan-sell/unit_converter","last_synced_at":"2026-05-02T08:34:12.931Z","repository":{"id":259357076,"uuid":"877659863","full_name":"Morgan-Sell/unit_converter","owner":"Morgan-Sell","description":"A web app in which a user can convert between different units of measurement.","archived":false,"fork":false,"pushed_at":"2024-10-26T05:29:15.000Z","size":185,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-08T05:54:39.534Z","etag":null,"topics":["ci","flask","flask-application","html","pytest","python","shell","strategy-design-pattern","webapp"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Morgan-Sell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-24T02:49:36.000Z","updated_at":"2024-10-26T05:31:18.000Z","dependencies_parsed_at":"2024-10-24T20:06:47.968Z","dependency_job_id":"6172ebd0-c636-4107-a0e3-685d089495b3","html_url":"https://github.com/Morgan-Sell/unit_converter","commit_stats":null,"previous_names":["morgan-sell/unit_converter"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Morgan-Sell/unit_converter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Morgan-Sell%2Funit_converter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Morgan-Sell%2Funit_converter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Morgan-Sell%2Funit_converter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Morgan-Sell%2Funit_converter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Morgan-Sell","download_url":"https://codeload.github.com/Morgan-Sell/unit_converter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Morgan-Sell%2Funit_converter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32528298,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T01:12:54.858Z","status":"online","status_checked_at":"2026-05-02T02:00:05.923Z","response_time":132,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ci","flask","flask-application","html","pytest","python","shell","strategy-design-pattern","webapp"],"created_at":"2024-11-10T20:17:04.391Z","updated_at":"2026-05-02T08:34:12.914Z","avatar_url":"https://github.com/Morgan-Sell.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Unit Converter\n\nWelcome to the **Unit Converter**! This project provides a sleek, flexible, and intuitive tool to handle various unit conversions. With a friendly web interface and a powerful backend, this converter supports multiple types of conversions seamlessly. Perfect for anyone who frequently deals with diverse unit measurements and values!\n\n## Table of Contents\n\n- [Overview](#overview)\n- [Features](#features)\n- [Installation](#installation)\n- [Application Walkthrough](#application-walkthrough)\n- [Documentation](#documentation)\n- [Dependencies](#dependencies)\n- [License](#license)\n- [Acknowledgement](#acknowledgement)\n\n## Overview\n\nThe **Unit Converter** is built to handle conversions using a modular approach, making it easy to update or extend conversion options. We’ve used the **Strategy Pattern** to make adding new conversions as simple as possible. This design means we can add more conversions without altering the main application code—a big plus if you want a scalable, customizable tool!\n\n## Features\n\n- **Supports Multiple Units**: Convert between various unit types effortlessly.\n- **User-Friendly Interface**: Simple, clean UI for easy interaction.\n- **Flexible Backend**: Easily expandable to support new conversions.\n- **Cross-Platform**: Use it on macOS, Windows, or Linux.\n\n## Installation\n\nGet started with the **Unit Converter** in a few quick steps:\n\n1. Clone the repository and move to the project folder.\n   \n   ```\n   git clone https://github.com/Morgan-Sell/unit_converter.git\n   cd unit_converter\n   ```\n\n2. Run the setup script to install all dependencies and set up the environment:\n\n   ```\n   chmod +x run.sh\n   ./run.sh initial-setup\n   ```\n3. Once setup completes, launch the application with:\n\n    ```\n    ./run.sh run-app\n    ```\n\n4. Open your browser and enter http://127.0.0.1:5001 into the address bar.\n\n\n## Application Walkthrough\nHere's a step-by-step walkthrough of the Unit Converter to help you get familiar with its features and interface.\n\n### 1. Launching the Application\nWhen you access http://127.0.0.1:5001 via your web browser, you'll be greeted by the home page.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./img/home_page.png\" alt=\"Home Page\"/\u003e\n\u003c/p\u003e\n\n### 2. Selecting Conversion Types\nThe main dashboard allows you to choose from different unit categories, such as Length, Weight, and, Volume Simply select the category and input the values you wish to convert.\n\n### 3. Entering Values and Choosing Units\nOnce you’ve selected a conversion type, enter your value, pick the unit to convert from, and select the unit to convert to. This intuitive form makes it easy to input data and convert units quickly.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./img/form.png\" alt=\"Form\"/\u003e\n\u003c/p\u003e\n\n### 4. Viewing Results\nAfter submitting your conversion, the result is displayed prominently, allowing you to easily view and use the converted value.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./img/result.png\" alt=\"Result\"/\u003e\n\u003c/p\u003e\n\n### 5. Return to Calculator\nSelect **Reset** to return to the calculator. You can use the vertical navbar to select a different unit of measure to convert.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./img/reset.png\" alt=\"Reset\"/\u003e\n\u003c/p\u003e\n\n## Documentation\n\nThe project structure is as follows:\n\n```\n├── .github/\n│   └── workflows/\n│       └── ci.yaml                 # GitHub Actions configuration for continuous integration\n├── img/                            # Directory for storing images\n├── src/                            # Main source code directory\n│   ├── config.py                   # Configuration file for setting application constants\n│   ├── conversion_strategy.py      # Contains conversion strategies and logic for different units\n│   ├── forms.py                    # Handles user input forms and validation\n│   ├── main.py                     # Main application entry point\n│   ├── operations.py               # Defines utility functions\n├── static/\n│   └── css/                        # Static assets like CSS for styling \n├── templates/                      # HTML templates for rendering UI for Flask\n├── tests/                          # Unit and integration tests for the application\n├── .gitignore                      # Specifies files and directories to ignore in Git\n├── LICENSE                         # License for the project\n├── pyproject.toml                  # Build configuration for the project, specifying dependencies and project metadata\n├── README.md                       # Project documentation and usage instructions\n├── requirements.txt                # Lists Python dependencies required for the project\n└── run.sh                          # Shell script for managing setup, environment, and application tasks\n```\n\n## Dependencies\n\n- Python 3.11\n- Libraries listed in `requirements.txt` (automatically installed with setup)\n  \n\n## License\nThis project is licensed under the MIT License. See the `LICENSE` file for more details.\n\n## Acknowledgement\nThis application was built following the architecture outlined in [roadmap.sh's Unit Converter project](https://roadmap.sh/projects/unit-converter).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmorgan-sell%2Funit_converter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmorgan-sell%2Funit_converter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmorgan-sell%2Funit_converter/lists"}