{"id":24284456,"url":"https://github.com/arturoccs/weatherapp","last_synced_at":"2026-04-09T21:12:30.934Z","repository":{"id":271495139,"uuid":"913644704","full_name":"ArturoCCS/WeatherApp","owner":"ArturoCCS","description":"This project manages and analyzes large volumes of global meteorological data, converting records from JSON to Java objects and storing them in TXT files. It optimizes the sorting process to facilitate calculations and generate predictive models on climate change.","archived":false,"fork":false,"pushed_at":"2025-04-11T15:48:08.000Z","size":873,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-11T16:56:17.257Z","etag":null,"topics":["css","fxml","java","javafx-application","json","weather-app"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ArturoCCS.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,"zenodo":null}},"created_at":"2025-01-08T04:51:47.000Z","updated_at":"2025-04-11T15:48:11.000Z","dependencies_parsed_at":"2025-04-11T16:48:26.221Z","dependency_job_id":"642ebaa3-86c2-49ba-a232-573cc4fc854c","html_url":"https://github.com/ArturoCCS/WeatherApp","commit_stats":null,"previous_names":["arturoccs/app-clima","arturoccs/weatherapp"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/ArturoCCS/WeatherApp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArturoCCS%2FWeatherApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArturoCCS%2FWeatherApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArturoCCS%2FWeatherApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArturoCCS%2FWeatherApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ArturoCCS","download_url":"https://codeload.github.com/ArturoCCS/WeatherApp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArturoCCS%2FWeatherApp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266624936,"owners_count":23958304,"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","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["css","fxml","java","javafx-application","json","weather-app"],"created_at":"2025-01-16T05:15:13.453Z","updated_at":"2026-04-09T21:12:30.888Z","avatar_url":"https://github.com/ArturoCCS.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Meteorological Data Analysis for Climate Research\n\nThis project is designed to manage and analyze large volumes of meteorological data to support research on climate change and extreme weather phenomena. The data comes from globally distributed weather stations and covers key variables such as temperature, humidity, wind speed, and precipitation.\n\n## Features\n\n- **JSON to Java Object Conversion:** Converts meteorological records from JSON format into Java objects, facilitating processing and analysis.\n- **Text File (TXT) Storage:** Processed data is efficiently stored in text files, optimizing reading and manipulation.\n- **Data Analysis:** The system facilitates the analysis of large volumes of data to identify long-term trends, generate detailed reports, and create predictive climate models.\n\n## Installation\n\n### Requirements\n\n- **Java SE 22**\n- **Maven** for dependency management.\n\nThe necessary dependencies (Gson, JavaFX) are already included in the `pom.xml`. Just ensure you have Maven installed and properly configured in your development environment.\n\n### Installation Steps\n\n1. Clone this repository:\n\n```bash   \n$ git clone https://github.com/ArturoCCS/WeatherApp.git\n```\n\n### Run\n \n```bash\ncd WeatherApp\n```\n```bash  \nmvn clean install\n```\n```bash\nmvn javafx:run\n```\n\n## Usage\n\nTo use the project, simply pass your JSON files with meteorological data through the conversion system. The data will be processed and stored in text files, which can be analyzed to generate reports or feed predictive models.\n\n### Example Input (JSON)\n\n```json\n{\"city\":{\"id\":707860,\"name\":\"Hurzuf\",\"country\":\"UA\",\"coord\":{\"lon\":34.283333,\"lat\":44.549999}},\"time\":1489458708,\"data\":[{\"dt\":1489395600,\"temp\":{\"day\":285.33,\"min\":277.97,\"max\":285.33,\"night\":279.36,\"eve\":280.94,\"morn\":277.97},\"pressure\":1006.85,\"humidity\":0,\"weather\":[{\"id\":500,\"main\":\"Rain\",\"description\":\"light rain\",\"icon\":\"10d\"}],\"speed\":3.2,\"deg\":44,\"clouds\":53,\"rain\":0.43,\"uvi\":3.09},{\"dt\":1489482000,\"temp\":{\"day\":281.66,\"min\":277.1,\"max\":281.9,\"night\":277.1,\"eve\":279.71,\"morn\":277.28},\"pressure\":991.08,\"humidity\":83,\"weather\":[{\"id\":500,\"main\":\"Rain\",\"description\":\"light rain\",\"icon\":\"10d\"}],\"speed\":4.13,\"deg\":60,\"clouds\":76,\"rain\":0.95,\"uvi\":3.19},{\"dt\":1489568400,\"temp\":{\"day\":278.97,\"min\":275.65,\"max\":279.95,\"night\":275.65,\"eve\":279.13,\"morn\":275.93},\"pressure\":993.96,\"humidity\":94,\"weather\":[{\"id\":500,\"main\":\"Rain\",\"description\":\"light rain\",\"icon\":\"10d\"}],\"speed\":3.76,\"deg\":41,\"clouds\":80,\"rain\":0.25,\"uvi\":3.01},{\"dt\":1489654800,\"temp\":{\"day\":279.79,\"min\":276.01,\"max\":279.79,\"night\":276.01,\"eve\":278.73,\"morn\":276.86},\"pressure\":990.04,\"humidity\":97,\"weather\":[{\"id\":501,\"main\":\"Rain\",\"description\":\"moderate rain\",\"icon\":\"10d\"}],\"speed\":3.51,\"deg\":244,\"clouds\":92,\"rain\":3.17,\"uvi\":3.2},{\"dt\":1489741200,\"temp\":{\"day\":280.8,\"min\":272.36,\"max\":280.8,\"night\":272.36,\"eve\":276.71,\"morn\":277.43},\"pressure\":1012.47,\"humidity\":0,\"weather\":[{\"id\":500,\"main\":\"Rain\",\"description\":\"light rain\",\"icon\":\"10d\"}],\"speed\":2.05,\"deg\":317,\"clouds\":30,\"rain\":0.33,\"uvi\":2.79},{\"dt\":1489827600,\"temp\":{\"day\":281.5,\"min\":272.69,\"max\":281.5,\"night\":272.69,\"eve\":276.26,\"morn\":276.57},\"pressure\":1010.58,\"humidity\":0,\"weather\":[{\"id\":500,\"main\":\"Rain\",\"description\":\"light rain\",\"icon\":\"10d\"}],\"speed\":2.29,\"deg\":242,\"clouds\":21,\"rain\":0.48,\"uvi\":3.36},{\"dt\":1489914000,\"temp\":{\"day\":283.87,\"min\":273.73,\"max\":283.87,\"night\":273.73,\"eve\":277.1,\"morn\":277.3},\"pressure\":1008.61,\"humidity\":0,\"weather\":[{\"id\":800,\"main\":\"Clear\",\"description\":\"sky is clear\",\"icon\":\"01d\"}],\"speed\":2.27,\"deg\":166,\"clouds\":1,\"uvi\":3.3},{\"dt\":1490000400,\"temp\":{\"day\":285.22,\"min\":278.05,\"max\":285.22,\"night\":278.85,\"eve\":280.1,\"morn\":278.05},\"pressure\":1002.01,\"humidity\":0,\"weather\":[{\"id\":500,\"main\":\"Rain\",\"description\":\"light rain\",\"icon\":\"10d\"}],\"speed\":4.36,\"deg\":154,\"clouds\":34,\"rain\":1.9,\"uvi\":3.3},{\"dt\":1490086800,\"temp\":{\"day\":284.12,\"min\":279.07,\"max\":284.12,\"night\":279.07,\"eve\":280.24,\"morn\":280.81},\"pressure\":995.72,\"humidity\":0,\"weather\":[{\"id\":502,\"main\":\"Rain\",\"description\":\"heavy intensity rain\",\"icon\":\"10d\"}],\"speed\":1.86,\"deg\":289,\"clouds\":52,\"rain\":14.44,\"uvi\":3.3},{\"dt\":1490173200,\"temp\":{\"day\":283.15,\"min\":277.4,\"max\":283.15,\"night\":277.4,\"eve\":278.56,\"morn\":278.69},\"pressure\":1013.61,\"humidity\":0,\"weather\":[{\"id\":500,\"main\":\"Rain\",\"description\":\"light rain\",\"icon\":\"10d\"}],\"speed\":3.34,\"deg\":279,\"clouds\":5,\"rain\":0.32,\"uvi\":3.3},{\"dt\":1490259600,\"temp\":{\"day\":283.16,\"min\":273.3,\"max\":283.16,\"night\":273.3,\"eve\":277.97,\"morn\":279.78},\"pressure\":1013.07,\"humidity\":0,\"weather\":[{\"id\":500,\"main\":\"Rain\",\"description\":\"light rain\",\"icon\":\"10d\"}],\"speed\":2.15,\"deg\":276,\"clouds\":14,\"rain\":0.38,\"uvi\":3.3},{\"dt\":1490346000,\"temp\":{\"day\":282.89,\"min\":275.36,\"max\":282.89,\"night\":275.36,\"eve\":279.01,\"morn\":276.61},\"pressure\":1013.2,\"humidity\":0,\"weather\":[{\"id\":500,\"main\":\"Rain\",\"description\":\"light rain\",\"icon\":\"10d\"}],\"speed\":2,\"deg\":65,\"clouds\":68,\"uvi\":3.3},{\"dt\":1490432400,\"temp\":{\"day\":286.7,\"min\":278.31,\"max\":286.7,\"night\":278.44,\"eve\":281.22,\"morn\":278.31},\"pressure\":1008.32,\"humidity\":0,\"weather\":[{\"id\":800,\"main\":\"Clear\",\"description\":\"sky is clear\",\"icon\":\"01d\"}],\"speed\":3.8,\"deg\":58,\"clouds\":5,\"uvi\":3.3},{\"dt\":1490518800,\"temp\":{\"day\":286.07,\"min\":279.97,\"max\":286.07,\"night\":280.45,\"eve\":282.58,\"morn\":279.97},\"pressure\":1003.89,\"humidity\":0,\"weather\":[{\"id\":500,\"main\":\"Rain\",\"description\":\"light rain\",\"icon\":\"10d\"}],\"speed\":3.09,\"deg\":51,\"clouds\":67,\"rain\":2.54,\"uvi\":3.3},{\"dt\":1490605200,\"temp\":{\"day\":284.9,\"min\":279.04,\"max\":284.9,\"night\":279.04,\"eve\":281.56,\"morn\":281.65},\"pressure\":1006.67,\"humidity\":0,\"weather\":[{\"id\":500,\"main\":\"Rain\",\"description\":\"light rain\",\"icon\":\"10d\"}],\"speed\":2.74,\"deg\":253,\"clouds\":76,\"rain\":0.85,\"uvi\":3.3},{\"dt\":1490691600,\"temp\":{\"day\":287.83,\"min\":279.65,\"max\":287.83,\"night\":279.65,\"eve\":283.6,\"morn\":280.4},\"pressure\":1016.53,\"humidity\":0,\"weather\":[{\"id\":500,\"main\":\"Rain\",\"description\":\"light rain\",\"icon\":\"10d\"}],\"speed\":2.83,\"deg\":170,\"clouds\":32,\"rain\":0.73,\"uvi\":3.3},{\"dt\":1490778000,\"temp\":{\"day\":279.65,\"min\":279.65,\"max\":279.65,\"night\":279.65,\"eve\":279.65,\"morn\":279.65},\"pressure\":1019.41,\"humidity\":0,\"weather\":[{\"id\":800,\"main\":\"Clear\",\"description\":\"sky is clear\",\"icon\":\"01ddd\"}],\"speed\":2.04,\"deg\":113,\"clouds\":7,\"uvi\":3.3}]}\n```\n\n\nThis is the format of the `data.json` file for the different `city` objects. However, the Java class only collects the following data:\n\n```json\n{\n  \"city\": {\n    \"name\": \"Hurzuf\",\n    \"coord\": {\n      \"lon\": 34.283333,\n      \"lat\": 44.549999\n    }\n  },\n  \"data\": [\n    {\n      \"dt\": 1489395600,\n      \"temp\": {\n        \"day\": 285.33\n      },\n      \"speed\": 3.2,\n      \"humidity\": 0,\n      \"rain\": 0.43\n    },\n    {\n      \"dt\": 1489482000,\n      \"temp\": {\n        \"day\": 281.66\n      },\n      \"speed\": 4.13,\n      \"humidity\": 83,\n      \"rain\": 0.95\n    },\n    {\n      \"dt\": 1489568400,\n      \"temp\": {\n        \"day\": 278.97\n      },\n      \"speed\": 3.76,\n      \"humidity\": 94,\n      \"rain\": 0.25\n    },\n    {\n      \"dt\": 1489654800,\n      \"temp\": {\n        \"day\": 279.79\n      },\n      \"speed\": 3.51,\n      \"humidity\": 97,\n      \"rain\": 3.17\n    },\n    {\n      \"dt\": 1489741200,\n      \"temp\": {\n        \"day\": 280.8\n      },\n      \"speed\": 2.05,\n      \"humidity\": 0,\n      \"rain\": 0.33\n    },\n    {\n      \"dt\": 1489827600,\n      \"temp\": {\n        \"day\": 281.5\n      },\n      \"speed\": 2.29,\n      \"humidity\": 0,\n      \"rain\": 0.48\n    },\n    {\n      \"dt\": 1489914000,\n      \"temp\": {\n        \"day\": 283.87\n      },\n      \"speed\": 2.27,\n      \"humidity\": 0,\n      \"rain\": 0\n    },\n    {\n      \"dt\": 1490000400,\n      \"temp\": {\n        \"day\": 285.22\n      },\n      \"speed\": 4.36,\n      \"humidity\": 0,\n      \"rain\": 1.9\n    },\n    {\n      \"dt\": 1490086800,\n      \"temp\": {\n        \"day\": 284.12\n      },\n      \"speed\": 1.86,\n      \"humidity\": 0,\n      \"rain\": 14.44\n    },\n    {\n      \"dt\": 1490173200,\n      \"temp\": {\n        \"day\": 283.15\n      },\n      \"speed\": 3.34,\n      \"humidity\": 0,\n      \"rain\": 0.32\n    }\n  ]\n}\n\n```\n\nThe project is based on this format and data, but you can modify the Java classes to handle custom JSON files tailored to your needs, such as store inventory, various articles, or any information you wish to manage. Since the variable names and types match the JSON format, customization is straightforward for your specific requirements or creativity.\n\n\n\n## Application Functionality\n\n### Demo Video\n\nhttps://github.com/user-attachments/assets/c034841e-2d8c-45be-85f8-2515a3ba3045\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farturoccs%2Fweatherapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farturoccs%2Fweatherapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farturoccs%2Fweatherapp/lists"}