{"id":15110859,"url":"https://github.com/kplanisphere/roman-numeral-unit-converter","last_synced_at":"2026-02-03T20:02:22.735Z","repository":{"id":243325070,"uuid":"812120217","full_name":"KPlanisphere/Roman-Numeral-Unit-Converter","owner":"KPlanisphere","description":"Examen 2 - Desarrollo de Aplicaciones Moviles","archived":false,"fork":false,"pushed_at":"2024-06-08T02:44:48.000Z","size":185,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-11T10:37:34.258Z","etag":null,"topics":["android","android-development","currency-conversion","educational-project","kotlin","mobile-app","real-time-data","roman-numerals","ui-ux-design","unit-conversion"],"latest_commit_sha":null,"homepage":"https://linktr.ee/planisphere.kgz","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KPlanisphere.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-06-08T02:40:39.000Z","updated_at":"2024-06-08T02:45:37.000Z","dependencies_parsed_at":"2024-06-08T03:40:54.819Z","dependency_job_id":"388ae494-206f-43c4-9aa5-3eab73656f62","html_url":"https://github.com/KPlanisphere/Roman-Numeral-Unit-Converter","commit_stats":null,"previous_names":["kplanisphere/roman-numeral-unit-converter"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/KPlanisphere/Roman-Numeral-Unit-Converter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KPlanisphere%2FRoman-Numeral-Unit-Converter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KPlanisphere%2FRoman-Numeral-Unit-Converter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KPlanisphere%2FRoman-Numeral-Unit-Converter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KPlanisphere%2FRoman-Numeral-Unit-Converter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KPlanisphere","download_url":"https://codeload.github.com/KPlanisphere/Roman-Numeral-Unit-Converter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KPlanisphere%2FRoman-Numeral-Unit-Converter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29055609,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T15:43:47.601Z","status":"ssl_error","status_checked_at":"2026-02-03T15:43:46.709Z","response_time":96,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["android","android-development","currency-conversion","educational-project","kotlin","mobile-app","real-time-data","roman-numerals","ui-ux-design","unit-conversion"],"created_at":"2024-09-26T00:01:13.596Z","updated_at":"2026-02-03T20:02:22.713Z","avatar_url":"https://github.com/KPlanisphere.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Roman Numeral Converter And Unit Converter\n\nA comprehensive Android application combining two main functionalities: Roman numeral operations and various unit conversions. This project leverages modern Android development practices, written in Kotlin, and aims to provide a robust and user-friendly experience.\n\n## Features\n\n### RomanNumeralConverter\n\n-   **Conversion**: Convert between Roman numerals and integers.\n-   **Validation**: Check the validity of Roman numerals.\n-   **UI/UX Design**: User-friendly interface with intuitive navigation and controls.\n-   **Kotlin**: Written in Kotlin, leveraging its features for a robust and concise codebase.\n\n### UnitConverter\n\n-   **Unit Conversion**: Convert between various units such as length, weight, temperature, and more.\n-   **Currency Conversion**: Real-time currency conversion based on the latest exchange rates.\n-   **Historical Data**: Access historical conversion data.\n-   **Multi-language Support**: Supports multiple languages for a global user base.\n\n## Project Structure\n\nThe project follows the standard Android project structure, including:\n\n-   **app**: Contains the main source code for the application, including activities, fragments, and other components.\n-   **gradle**: Gradle configuration files for managing project dependencies and build processes.\n-   **.gradle**: Gradle's system files.\n-   **.idea**: IntelliJ IDEA settings and configurations.\n-   **build.gradle.kts**: Kotlin script for configuring the build process.\n-   **settings.gradle.kts**: Kotlin script for setting up the project's modules.\n\n## Notable Code Snippets\n\n### Roman Numeral Conversion\n\nThis snippet demonstrates how to convert an integer to a Roman numeral in Kotlin.\n\n```kotlin\nfun intToRoman(num: Int): String {\n    val romanNumerals = listOf(\n        Pair(1000, \"M\"), Pair(900, \"CM\"), Pair(500, \"D\"), Pair(400, \"CD\"),\n        Pair(100, \"C\"), Pair(90, \"XC\"), Pair(50, \"L\"), Pair(40, \"XL\"),\n        Pair(10, \"X\"), Pair(9, \"IX\"), Pair(5, \"V\"), Pair(4, \"IV\"), Pair(1, \"I\")\n    )\n    var number = num\n    val result = StringBuilder()\n\n    for ((value, symbol) in romanNumerals) {\n        while (number \u003e= value) {\n            result.append(symbol)\n            number -= value\n        }\n    }\n    return result.toString()\n}\n``` \n\n### Roman Numeral Validation\n\nThis snippet shows how to validate if a given string is a valid Roman numeral.\n\n```kotlin\nfun isValidRoman(roman: String): Boolean {\n    val regex = \"^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$\".toRegex()\n    return roman.matches(regex)\n}\n```\n\n### Unit Conversion\n\nThis snippet demonstrates a simple unit conversion function for length in Kotlin.\n\n```kotlin\nfun convertLength(value: Double, fromUnit: String, toUnit: String): Double {\n    val conversionRates = mapOf(\n        \"meters\" to 1.0,\n        \"kilometers\" to 1000.0,\n        \"centimeters\" to 0.01,\n        \"inches\" to 0.0254,\n        \"feet\" to 0.3048\n    )\n    val baseValue = value * (conversionRates[fromUnit] ?: error(\"Invalid unit\"))\n    return baseValue / (conversionRates[toUnit] ?: error(\"Invalid unit\"))\n}\n```\n\n### Currency Conversion\n\nThis snippet shows how to fetch real-time currency exchange rates using an API.\n\n```kotlin\nfun fetchExchangeRate(fromCurrency: String, toCurrency: String): Double {\n    val apiUrl = \"https://api.exchangerate-api.com/v4/latest/$fromCurrency\"\n    val response = khttp.get(apiUrl)\n    val rates = response.jsonObject.getJSONObject(\"rates\")\n    return rates.getDouble(toCurrency)\n}\n```\n\n## Getting Started\n\nTo get a local copy up and running follow these simple steps.\n\n### Prerequisites\n\n-   Android Studio\n-   Gradle\n\n### Installation\n\n1.  Clone the repo\n    \n    ```sh\n    git clone https://github.com/KPlanisphere/roman-numeral-unit-converter.git\n    ```\n    \n2.  Open the project in Android Studio.\n3.  Sync the Gradle files and build the project.\n4.  Run the app on an emulator or a physical device.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkplanisphere%2Froman-numeral-unit-converter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkplanisphere%2Froman-numeral-unit-converter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkplanisphere%2Froman-numeral-unit-converter/lists"}