{"id":31579276,"url":"https://github.com/omar-mega-byte/404_weathernotfound","last_synced_at":"2026-05-18T06:03:19.015Z","repository":{"id":317807426,"uuid":"1068906385","full_name":"Omar-Mega-Byte/404_WeatherNotFound","owner":"Omar-Mega-Byte","description":"An interactive web app built for the 2025 NASA Space Apps Challenge that forecasts the likelihood of adverse weather conditions (heat, cold, wind, rain, discomfort) for a chosen location and date. Combines Earth observation data with data analysis and visualization to help users plan outdoor activities with confidence.","archived":false,"fork":false,"pushed_at":"2025-10-03T05:36:29.000Z","size":9,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-03T07:20:12.453Z","etag":null,"topics":["hackathon","nasa-spaceapps-challenge","react","spring-boot","weather"],"latest_commit_sha":null,"homepage":"","language":null,"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/Omar-Mega-Byte.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-03T05:09:28.000Z","updated_at":"2025-10-03T05:36:33.000Z","dependencies_parsed_at":"2025-10-03T07:20:15.413Z","dependency_job_id":"533d4f6d-276c-479d-a749-f5e0870172c0","html_url":"https://github.com/Omar-Mega-Byte/404_WeatherNotFound","commit_stats":null,"previous_names":["omar-mega-byte/404_weathernotfound"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Omar-Mega-Byte/404_WeatherNotFound","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Omar-Mega-Byte%2F404_WeatherNotFound","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Omar-Mega-Byte%2F404_WeatherNotFound/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Omar-Mega-Byte%2F404_WeatherNotFound/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Omar-Mega-Byte%2F404_WeatherNotFound/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Omar-Mega-Byte","download_url":"https://codeload.github.com/Omar-Mega-Byte/404_WeatherNotFound/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Omar-Mega-Byte%2F404_WeatherNotFound/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33167430,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T05:43:36.989Z","status":"ssl_error","status_checked_at":"2026-05-18T05:43:19.133Z","response_time":71,"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":["hackathon","nasa-spaceapps-challenge","react","spring-boot","weather"],"created_at":"2025-10-05T21:00:12.385Z","updated_at":"2026-05-18T06:03:18.993Z","avatar_url":"https://github.com/Omar-Mega-Byte.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🌦️ 404_WeatherNotFound: Will It Rain On My Parade? \n\n\u003e **An intelligent weather prediction platform for seamless outdoor event planning.**  \n\u003e *Proudly developed for the NASA Space Apps Challenge 2025.*\n\n[![Java](https://img.shields.io/badge/Java-21-orange.svg)](https://openjdk.org/projects/jdk/21/)\n[![Spring Boot](https://img.shields.io/badge/Spring%20Boot-3.5.5-green.svg)](https://spring.io/projects/spring-boot)\n[![React](https://img.shields.io/badge/React-18.2.0-blue.svg)](https://reactjs.org/)\n[![MySQL](https://img.shields.io/badge/MySQL-8.0+-blue.svg)](https://www.mysql.com/)\n[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\n## 📋 Table of Contents\n\n- [Overview](#-overview)\n- [Screenshots](#-screenshots)\n- [Features](#-features)\n- [Technology Stack](#-technology-stack)\n- [Project Structure](#-project-structure)\n- [Prerequisites](#-prerequisites)\n- [Installation \u0026 Setup](#-installation--setup)\n  - [Backend Setup](#backend-setup)\n  - [Frontend Setup](#frontend-setup)\n- [Running the Application](#-running-the-application)\n- [API Documentation](#-api-documentation)\n- [Environment Configuration](#-environment-configuration)\n- [About the Hackathon](#-about-the-hackathon)\n- [Contributing](#-contributing)\n- [License](#-license)\n\n## 🌟 Overview\n\n\"Weather Vision\" is an intelligent weather prediction application designed to help users make informed decisions about outdoor events and activities. Built for the NASA Space Apps Challenge 2025, this application leverages advanced weather data and machine learning to provide personalized weather forecasts tailored for outdoor event planning.\n\nThe application addresses the critical need for accurate, event-specific weather predictions by combining multiple weather data sources with intelligent analysis to deliver actionable insights for event planners, outdoor enthusiasts, and anyone organizing weather-sensitive activities.\n\n## 📸 Screenshots\n\n| Login Page | Register Page |\n| :---: | :---: |\n| ![Login Page](https://github.com/user-attachments/assets/6e0dc9fa-9869-40c0-b0f1-2b8938a330bd) | ![Register Page](https://github.com/user-attachments/assets/1d0176c8-f05b-4328-88bc-e7367b102681) |\n\n| Dashboard | Location Management |\n| :---: | :---: |\n| ![Dashboard](https://github.com/user-attachments/assets/f0c42556-0ecd-46da-90bc-760846e200a7) | ![Location Management](https://github.com/user-attachments/assets/689dce75-c8a5-4a1b-be4f-6e55f05e3b9e) |\n\n| Home 1 | Home 2 |\n| :---: | :---: |\n| ![Home1](https://github.com/user-attachments/assets/b0b5aaac-1d5f-4cc3-9eb7-0258f7b51507) | ![Home2](https://github.com/user-attachments/assets/9a411075-acb3-42e6-a174-20961043afed) |\n\n\n\n## ✨ Features\n\n- 🔐 **User Authentication \u0026 Profile Management**\n- 📍 **Location-Based Weather Services**  \n- 📊 **Analytics \u0026 Performance Metrics**\n- 🌍 **Multi-Source Weather Data Integration**\n- 📈 **Real-Time Weather Updates**\n\n## 🛠️ Technology Stack\n\n### Backend\n- **Java 21** - Programming language\n- **Spring Boot 3.5.5** - Application framework\n- **Spring Security** - Authentication \u0026 authorization\n- **Spring Data JPA** - Data persistence\n- **MySQL 8.0+** - Primary database\n- **Maven** - Dependency management\n- **Swagger/OpenAPI 3** - API documentation\n\n### Frontend\n- **React 18.2.0** - UI framework\n- **React Router DOM** - Client-side routing\n- **Axios** - HTTP client\n- **Modern CSS** - Styling\n\n### Development Tools\n- **Git** - Version control\n- **Maven** - Build tool\n- **npm/yarn** - Package management\n\n## � Project Structure\n\nThe project is organized into two main parts: a Spring Boot backend and a React frontend.\n\n```\n/\n├── frontend/              # React frontend application\n│   ├── public/\n│   └── src/\n│       ├── components/    # Reusable React components\n│       ├── pages/         # Page components\n│       └── services/      # API service clients\n├── src/                   # Spring Boot backend application\n│   └── main/\n│       └── java/\n│           └── com/weather_found/weather_app/\n│               ├── config/\n│               └── modules/ # Business logic modules\n└── pom.xml                # Backend dependencies (Maven)\n```\n\n## �📋 Prerequisites\n\nBefore running this application, make sure you have the following installed on your system:\n\n### Required Software\n- **Java 21** or higher ([Download](https://openjdk.org/projects/jdk/21/))\n- **Maven 3.6+** ([Download](https://maven.apache.org/download.cgi))\n- **Node.js 18+** and **npm** ([Download](https://nodejs.org/))\n- **MySQL 8.0+** ([Download](https://dev.mysql.com/downloads/mysql/))\n- **Git** ([Download](https://git-scm.com/downloads))\n\n### Verify Installation\n```bash\njava --version\nmvn --version\nnode --version\nnpm --version\nmysql --version\n```\n\n## 🚀 Installation \u0026 Setup\n\n### 1. Clone the Repository\n```bash\ngit clone https://github.com/Omar-Mega-Byte/404_WeatherNotFound.git\ncd 404_WeatherNotFound\n```\n\n### 2. Database Setup\nConnect to MySQL and run the following command:\n```sql\nCREATE DATABASE weather_app;\n```\n\n## Backend Setup\n\n1.  **Navigate to Backend Directory**: The root of the project is the backend directory.\n2.  **Configure Database Connection**: Edit `src/main/resources/application.yml` with your MySQL username and password.\n3.  **Install Dependencies**: `mvn clean install`\n\n## Frontend Setup\n\n1.  **Navigate to Frontend Directory**: `cd frontend`\n2.  **Install Dependencies**: `npm install`\n\n## 🏃‍♂️ Running the Application\n\n### Start Backend Server\nFrom the project root, run:\n```bash\nmvn spring-boot:run\n```\nThe backend will be available at `http://localhost:8080`.\n\n### Start Frontend Server\nFrom the `frontend` directory, run:\n```bash\nnpm start\n```\nThe frontend will be available at `http://localhost:3000`.\n\n## 📚 API Documentation\n\nOnce the backend is running, interactive API documentation is available via Swagger UI:\n- **URL**: http://localhost:8080/swagger-ui/index.html\n\n## ⚙️ Environment Configuration\n\n### Backend Environment Variables\nYou can configure the application using environment variables or by modifying the `application.yml` file.\n\n| Variable | Default | Description |\n|---|---|---|\n| `SERVER_PORT` | `8080` | Backend server port |\n| `MYSQL_USER` | `root` | MySQL username |\n| `MYSQL_PASSWORD` | `your_password` | MySQL password |\n| `JWT_SECRET` | `change-this-secret` | JWT signing key |\n\n### Frontend Environment Variables\nCreate a `.env` file in the `frontend/` directory:\n```env\nREACT_APP_API_BASE_URL=http://localhost:8080\n```\n\n## 🛰️ NASA Data Integration\n\nThis project leverages meteorological data from NASA's **Prediction of Worldwide Energy Resources (POWER)** project. The POWER project provides solar and meteorological data sets from NASA research for support of renewable energy, building energy efficiency, and agricultural needs.\n\nOur application specifically utilizes the POWER API to fetch daily time series data for given geographical coordinates.\n\n-   **API Endpoint**: `https://power.larc.nasa.gov/api/temporal/daily/point`\n-   **Parameters Used**: `latitude`, `longitude`, `start_date`, `end_date`, and various meteorological parameters like `T2M` (temperature), `PRECTOTCORR` (precipitation), etc.\n\nThis data is crucial for our weather prediction models, providing reliable and comprehensive information to deliver accurate forecasts.\n\n## 🏆 About the Hackathon\n\nThis project is a proud submission to the **NASA Space Apps Challenge 2025**. Our team, \"404_WeatherNotFound\", took on the challenge to harness NASA's vast repository of Earth observation data to solve a real-world problem: the uncertainty of weather for outdoor activities.\n\nOur mission was to create a tool that empowers users to plan events with confidence, transforming complex atmospheric data into simple, actionable insights. We believe that by making weather prediction more personal and precise, we can help people connect more safely and enjoyably with the world around them. This project represents our passion for technology, data science, and the endless possibilities of space exploration.\n\n## 🤝 Contributing\n\nWe welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to get started.\n\n1.  Fork the repository.\n2.  Create a feature branch (`git checkout -b feature/your-feature`).\n3.  Commit your changes (`git commit -m 'Add some feature'`).\n4.  Push to the branch (`git push origin feature/your-feature`).\n5.  Open a Pull Request.\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomar-mega-byte%2F404_weathernotfound","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fomar-mega-byte%2F404_weathernotfound","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomar-mega-byte%2F404_weathernotfound/lists"}