An intelligent weather prediction platform for seamless outdoor event planning.
Proudly developed for the NASA Space Apps Challenge 2025.
- Overview
- Screenshots
- Features
- Technology Stack
- Project Structure
- Prerequisites
- Installation & Setup
- Running the Application
- API Documentation
- Environment Configuration
- About the Hackathon
- Contributing
- License
"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.
The 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.
| Login Page | Register Page |
|---|---|
![]() |
![]() |
| Dashboard | Location Management |
|---|---|
![]() |
![]() |
| Home 1 | Home 2 |
|---|---|
![]() |
![]() |
- π User Authentication & Profile Management
- π Location-Based Weather Services
- π Analytics & Performance Metrics
- π Multi-Source Weather Data Integration
- π Real-Time Weather Updates
- Java 21 - Programming language
- Spring Boot 3.5.5 - Application framework
- Spring Security - Authentication & authorization
- Spring Data JPA - Data persistence
- MySQL 8.0+ - Primary database
- Maven - Dependency management
- Swagger/OpenAPI 3 - API documentation
- React 18.2.0 - UI framework
- React Router DOM - Client-side routing
- Axios - HTTP client
- Modern CSS - Styling
- Git - Version control
- Maven - Build tool
- npm/yarn - Package management
The project is organized into two main parts: a Spring Boot backend and a React frontend.
/
βββ frontend/ # React frontend application
β βββ public/
β βββ src/
β βββ components/ # Reusable React components
β βββ pages/ # Page components
β βββ services/ # API service clients
βββ src/ # Spring Boot backend application
β βββ main/
β βββ java/
β βββ com/weather_found/weather_app/
β βββ config/
β βββ modules/ # Business logic modules
βββ pom.xml # Backend dependencies (Maven)
Before running this application, make sure you have the following installed on your system:
- Java 21 or higher (Download)
- Maven 3.6+ (Download)
- Node.js 18+ and npm (Download)
- MySQL 8.0+ (Download)
- Git (Download)
java --version
mvn --version
node --version
npm --version
mysql --versiongit clone https://github.com/Omar-Mega-Byte/404_WeatherNotFound.git
cd 404_WeatherNotFoundConnect to MySQL and run the following command:
CREATE DATABASE weather_app;- Navigate to Backend Directory: The root of the project is the backend directory.
- Configure Database Connection: Edit
src/main/resources/application.ymlwith your MySQL username and password. - Install Dependencies:
mvn clean install
- Navigate to Frontend Directory:
cd frontend - Install Dependencies:
npm install
From the project root, run:
mvn spring-boot:runThe backend will be available at http://localhost:8080.
From the frontend directory, run:
npm startThe frontend will be available at http://localhost:3000.
Once the backend is running, interactive API documentation is available via Swagger UI:
You can configure the application using environment variables or by modifying the application.yml file.
| Variable | Default | Description |
|---|---|---|
SERVER_PORT |
8080 |
Backend server port |
MYSQL_USER |
root |
MySQL username |
MYSQL_PASSWORD |
your_password |
MySQL password |
JWT_SECRET |
change-this-secret |
JWT signing key |
Create a .env file in the frontend/ directory:
REACT_APP_API_BASE_URL=http://localhost:8080This 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.
Our application specifically utilizes the POWER API to fetch daily time series data for given geographical coordinates.
- API Endpoint:
https://power.larc.nasa.gov/api/temporal/daily/point - Parameters Used:
latitude,longitude,start_date,end_date, and various meteorological parameters likeT2M(temperature),PRECTOTCORR(precipitation), etc.
This data is crucial for our weather prediction models, providing reliable and comprehensive information to deliver accurate forecasts.
This 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.
Our 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.
We welcome contributions! Please see CONTRIBUTING.md for details on how to get started.
- Fork the repository.
- Create a feature branch (
git checkout -b feature/your-feature). - Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature/your-feature). - Open a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.





