{"id":19473253,"url":"https://github.com/lazycatcoder/waterheatmap","last_synced_at":"2026-04-08T11:32:45.941Z","repository":{"id":171799202,"uuid":"648410727","full_name":"lazycatcoder/WaterHeatmap","owner":"lazycatcoder","description":"This application generates heatmaps based on temperature data. The application developed using Node.js","archived":false,"fork":false,"pushed_at":"2023-06-02T00:45:22.000Z","size":20903,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-25T15:35:01.572Z","etag":null,"topics":["canvas","chai","dataanalysis","dataprocessing","expressjs","heatmapping","html2canvas","javascript","mocha","mocha-chai","nodejs","nodejsapp","temperature-map","temperaturevisualization","testing","webdevelopment"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lazycatcoder.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":"2023-06-01T23:05:19.000Z","updated_at":"2023-07-06T17:41:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"2cb8c18f-404d-48b0-b733-19ff2d32d47f","html_url":"https://github.com/lazycatcoder/WaterHeatmap","commit_stats":null,"previous_names":["lazycatcoder/waterheatmap"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lazycatcoder/WaterHeatmap","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lazycatcoder%2FWaterHeatmap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lazycatcoder%2FWaterHeatmap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lazycatcoder%2FWaterHeatmap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lazycatcoder%2FWaterHeatmap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lazycatcoder","download_url":"https://codeload.github.com/lazycatcoder/WaterHeatmap/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lazycatcoder%2FWaterHeatmap/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31554091,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T10:21:54.569Z","status":"ssl_error","status_checked_at":"2026-04-08T10:21:38.171Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["canvas","chai","dataanalysis","dataprocessing","expressjs","heatmapping","html2canvas","javascript","mocha","mocha-chai","nodejs","nodejsapp","temperature-map","temperaturevisualization","testing","webdevelopment"],"created_at":"2024-11-10T19:17:52.134Z","updated_at":"2026-04-08T11:32:45.902Z","avatar_url":"https://github.com/lazycatcoder.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003eWater Heatmap\u003c/h1\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"justify\"\u003e\n\n   This repository contains the source code for an application that generates heatmaps based on temperature data. The application is built using **Node.js** and utilizes various libraries such as **Canvas**, **Chai**, **Express**, **html2canvas**, **Mocha**, and **Path**.\n\n   The main functionality of the application is the generate heatmaps by processing temperature data from JSON files. It uses a predefined set of gradient colors to represent different temperature ranges. The generated heatmaps are saved as PNG images and can be accessed through a web server built with **Express**.\n\n   The application supports multiple scenarios for generating heatmaps. It can generate heatmaps based on the current date or specific dates by searching for corresponding data files. It also provides fallback options to handle missing data files.\n\n   The codebase includes unit tests written with **Mocha** and **Chai** to ensure the correctness of the heatmap generation process. The tests cover various scenarios and verify the existence and integrity of the generated heatmaps.\n\n   This application serves as a helpful tool for visualizing temperature data in the form of heatmaps, allowing users to gain insights and analyze temperature patterns effectively.\n\n   \u003cbr\u003e\n\n\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"img.jpg\" width=\"100%\"/\u003e\n  \u003cbr\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n   # Settings\n\n\u003c/div\u003e\n\n\u003cdiv align=\"left\"\u003e\n\n1. Clone this repository\n\n```\n   git clone https://github.com/lazycatcoder/WaterHeatmap.git\n```\n\n\n2. Install **Node.js**\n   \n**Node.js** and **npm** (Node Package Manager) should be installed on your system. You can download them from the official Node.js website: *https://nodejs.org*\n\n\n3. Install Dependencies\n\nOpen a terminal or command prompt. Navigate to the extracted/cloned repository folder. Run the following command to install the required dependencies listed in the **package.json** file:\n\n```\n   npm install express\n   npm install path\n   npm install canvas\n   npm install html2canvas\n   npm install mocha\n   npm install chai\n```\n\n4. Start the Server 🚀\n\nIn the same terminal or command prompt, navigate to the repository folder.\nRun the following command to start the server:\n\n```\n   node server.js\n```\nThe server should now be running and listening for requests on the specified port *(default is port 3000)*.\n\n5. Access the Application\n\nOpen a web browser. In the address bar, enter *http://localhost:3000*\n\n\u003c/div\u003e\n\n\u003cbr\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n   ## 📝 Additional Information\n\n\u003c/div\u003e\n\n\u003cdiv align=\"justify\"\u003e\n\nFor the application to work correctly before starting the server, in the JSON folder *('..\\WaterHeatmap\\json')* in the **compressed_YYYY-MM-DD.json** file, replace YYYY-MM-DD with the current year, month and day.\n\n\u003cbr\u003e\n\n🔴 During the development of the application, emphasis was placed on the fact that the data with which the heat map is generated will come in JSON format. It is important to note that in this project the JSON files are not actual, but exemplary and contain an artificially created array with thermal labels, which are represented as coordinates and temperature indicators (x, y, value).\n\n\u003c/div\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flazycatcoder%2Fwaterheatmap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flazycatcoder%2Fwaterheatmap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flazycatcoder%2Fwaterheatmap/lists"}