Sign inSign up

johnmmac/roman

By johnmmac

•Updated about 4 years ago

Roman Numerals Calculator App

Image
0

140

johnmmac/roman repository overview

⁠Roman Numerals Calculator

⁠Warning

This repo is still a work in progress and lacks the React SPA interaction with the backend APIs

⁠Install

docker pull johnmmac/roman:latest

⁠Run

docker run -p 4000:5050 johnmmac/roman:latest

⁠Example Use

⁠API - For adding Roman Numerals and returning arabic values

method: Post
to: http://localhost:4000/api/1.0/addition⁠
payload:

{
    "calculationInput": {
        "metadata": {
            "client": "calc",
            "version": "1234",
            "timestamp": "2022-06-22 14:32:56Z"
        },
        "inputs": { 
            "numericValues": [
                {"numericInput": "CXXII", "culture": "romanNumerals", "notation": "decimal"},
                {"numericInput": "C", "culture": "romanNumerals", "notation": "decimal"},
                {"numericInput": "XLIV", "culture": "romanNumerals", "notation": "decimal"}
            ], 
            "requiredCalculation":"addition",
            "requiredOutputFormatCulture":"arabic",
            "requiredOutputFormatNotation":"decimal"          
        }
    }
}

returning

{
    "calculationOutput": {
        "metadata": {
            "client": "AppSettings:name",
            "version": "AppSettings:vesion",
            "timestamp": "2022-09-15 08:04:12.680Z"
        },
        "receivedInputs": {
            "numericValues": [
                {
                    "numericInput": "CXXII",
                    "culture": "romanNumerals",
                    "notation": "decimal"
                },
                {
                    "numericInput": "C",
                    "culture": "romanNumerals",
                    "notation": "decimal"
                },
                {
                    "numericInput": "XLIV",
                    "culture": "romanNumerals",
                    "notation": "decimal"
                }
            ],
            "requiredCalculation": "addition",
            "requiredOutputFormatCulture": "arabic",
            "requiredOutputFormatNotation": "decimal"
        },
        "calculatedOutputs": {
            "numericCalculatedResults": [
                {
                    "numericValues": [
                        {
                            "numericInput": "CXXII",
                            "culture": "romanNumerals",
                            "notation": "decimal"
                        },
                        {
                            "numericInput": "C",
                            "culture": "romanNumerals",
                            "notation": "decimal"
                        },
                        {
                            "numericInput": "XLIV",
                            "culture": "romanNumerals",
                            "notation": "decimal"
                        }
                    ],
                    "numericCalculatedResult": "CCLXVI",
                    "culture": "romanNumerals",
                    "notation": "decimal"
                },
                {
                    "numericValues": [
                        {
                            "numericInput": "122",
                            "culture": "arabic",
                            "notation": "decimal"
                        },
                        {
                            "numericInput": "100",
                            "culture": "arabic",
                            "notation": "decimal"
                        },
                        {
                            "numericInput": "44",
                            "culture": "arabic",
                            "notation": "decimal"
                        }
                    ],
                    "numericCalculatedResult": "266",
                    "culture": "arabic",
                    "notation": "decimal"
                }
            ],
            "responseCode": "200",
            "responseDescription": "OK"
        }
    }
}
⁠API - For adding Arabic numbers and returning Roman Numeral values

(just change culture values accordingly) method: Post
to: http://localhost:4000/api/1.0/addition⁠
payload:

{
    "calculationInput": {
        "metadata": {
            "client": "calc",
            "version": "1234",
            "timestamp": "2022-06-22 14:32:56Z"
        },
        "inputs": { 
            "numericValues": [
                {"numericInput": "122", "culture": "arabic", "notation": "decimal"},
                {"numericInput": "100", "culture": "arabic", "notation": "decimal"},
                {"numericInput": "44", "culture": "arabic", "notation": "decimal"}
            ], 
            "requiredCalculation":"addition",
            "requiredOutputFormatCulture":"romanNumerals",
            "requiredOutputFormatNotation":"decimal"          
        }
    }
}

returning

{
    "calculationOutput": {
        "metadata": {
            "client": "AppSettings:name",
            "version": "AppSettings:vesion",
            "timestamp": "2022-09-15 08:10:11.250Z"
        },
        "receivedInputs": {
            "numericValues": [
                {
                    "numericInput": "122",
                    "culture": "arabic",
                    "notation": "decimal"
                },
                {
                    "numericInput": "100",
                    "culture": "arabic",
                    "notation": "decimal"
                },
                {
                    "numericInput": "44",
                    "culture": "arabic",
                    "notation": "decimal"
                }
            ],
            "requiredCalculation": "addition",
            "requiredOutputFormatCulture": "romanNumerals",
            "requiredOutputFormatNotation": "decimal"
        },
        "calculatedOutputs": {
            "numericCalculatedResults": [
                {
                    "numericValues": [
                        {
                            "numericInput": "122",
                            "culture": "arabic",
                            "notation": "decimal"
                        },
                        {
                            "numericInput": "100",
                            "culture": "arabic",
                            "notation": "decimal"
                        },
                        {
                            "numericInput": "44",
                            "culture": "arabic",
                            "notation": "decimal"
                        }
                    ],
                    "numericCalculatedResult": "266",
                    "culture": "arabic",
                    "notation": "decimal"
                },
                {
                    "numericValues": [
                        {
                            "numericInput": "CXXII",
                            "culture": "romanNumerals",
                            "notation": "decimal"
                        },
                        {
                            "numericInput": "C",
                            "culture": "romanNumerals",
                            "notation": "decimal"
                        },
                        {
                            "numericInput": "XLIV",
                            "culture": "romanNumerals",
                            "notation": "decimal"
                        }
                    ],
                    "numericCalculatedResult": "CCLXVI",
                    "culture": "romanNumerals",
                    "notation": "decimal"
                }
            ],
            "responseCode": "200",
            "responseDescription": "OK"
        }
    }
}

Tag summary

Content type

Image

Digest

sha256:be62b0814…

Size

84.2 MB

Last updated

about 4 years ago

docker pull johnmmac/roman