{"id":19701539,"url":"https://github.com/yanndr/thermometer","last_synced_at":"2026-05-09T07:38:11.035Z","repository":{"id":175714449,"uuid":"96656013","full_name":"yanndr/Thermometer","owner":"yanndr","description":"A Temperature Library in C# .net Core  ","archived":false,"fork":false,"pushed_at":"2023-07-06T01:25:00.000Z","size":82,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-10T10:58:28.301Z","etag":null,"topics":["alert","converter","csharp","dotnet-core","grpc","temperature","thermometer","threshold"],"latest_commit_sha":null,"homepage":"","language":"C#","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/yanndr.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":"2017-07-09T02:18:48.000Z","updated_at":"2023-07-06T01:09:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"657499c4-d5d2-4940-8636-7518e9bdb506","html_url":"https://github.com/yanndr/Thermometer","commit_stats":null,"previous_names":["yanndr/thermometer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanndr%2FThermometer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanndr%2FThermometer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanndr%2FThermometer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yanndr%2FThermometer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yanndr","download_url":"https://codeload.github.com/yanndr/Thermometer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241014944,"owners_count":19894328,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["alert","converter","csharp","dotnet-core","grpc","temperature","thermometer","threshold"],"created_at":"2024-11-11T21:09:18.452Z","updated_at":"2026-05-09T07:38:06.001Z","avatar_url":"https://github.com/yanndr.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/yanndr/Thermometer.svg?branch=master)](https://travis-ci.org/yanndr/Thermometer)\r\n\r\n# Introduction\r\nThis is a C# .net core Temperature/Thermometer Library.\r\n\r\nThis library allows you to convert temperature units, so far Kelvin, Celsius and Fahrenheit.\r\n\r\nThere are three thermometers: Basic Thermometer, MultiUnit Thermometer and an AlerterThermometer. \r\n\r\nThe Alerter Thermometer allows you to set up temperature thresholds to receive an alert when the temperature reaches your chosen threshold.  \r\n\r\n# Usage\r\n\r\n```\r\nvar converter = new TemperatureConverter(new ConverterFactory(\r\n    new List\u003cIUnitConverter\u003e\r\n    {\r\n        new CelsiusConverter(),\r\n        new FahrenheitConverter()\r\n    }));\r\n\r\nvar alerters = new List\u003cIAlerter\u003e\r\n{\r\n    new DropAlert(\"Freezing alert\", 0.0m, 0.5m,()=\u003eConsole.WriteLine(\"----Freezing Alert------s\")),\r\n    new RaiseAlert(\"Boiling alert\", 100, 0.5m,()=\u003eConsole.WriteLine(\"----Boiling Alert----\")),\r\n    new BidirectionalAlert(\"Nice temperature alert\", 28.0m, 1m,()=\u003eConsole.WriteLine(\"----Other Alert------s\"))\r\n};\r\n\r\nthermometer = new AlerterThermometer(Unit.Celsius,converter, alerters);\r\n```\r\n\r\nIn the solution you will find an example console project that shows how to use the library: thermometer-console .\r\n\r\n# Prerequistes\r\n```\r\n- .net Core or Docker\r\n```\r\n\r\n# Build and Test\r\nBuild the solution:\r\n```\r\n\u003e dotnet restore\r\n\u003e dotnet build \r\n```\r\n\r\nRun the tests:\r\n```\r\n\u003e dotnet test ./ThermometerLibrary.Tests/ThermometerLibrary.Tests.csproj\r\n```\r\n\r\n# Run the examples\r\n\r\nRun the example with dotnet:\r\n```\r\n\u003e dotnet run -p ThermometerConsole/ThermometerConsole.csproj\r\n```\r\n\r\nRun the server example with dotnet:\r\n```\r\n\u003e dotnet run -p ThermometerSercice/ThermometerService.csproj\r\n```\r\n\r\nRun the Temperature updater example to feed the Termomether servie with dotnet:\r\n```\r\n\u003e dotnet run -p TemperatureUpdater/TemperatureUpdater.csproj\r\n```\r\n\r\nRun the example with Docker:\r\n```\r\n- build the image:\r\n\u003e docker build -t thermometer-console .\r\n```\r\n\r\n- Run the container\r\n```\r\n\u003e docker run -it --rm thermometer-console\r\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyanndr%2Fthermometer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyanndr%2Fthermometer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyanndr%2Fthermometer/lists"}