Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 27, 2025

Replaces the EDR collection viewer with comprehensive onboarding instructions for trainees learning to build a weather app through issue-driven development, featuring live weather data from the FMI Open Data API.

Changes

  • Onboarding workflow: 5-step guide from issue creation to PR submission with GitHub Copilot integration
  • Feature inspiration: 7 concrete weather app ideas (current weather, forecasts, charts, maps, alerts, location search, favorites)
  • API documentation: FMI Open Data EDR 1.1 integration examples with Oslo coordinates, available parameters list, and query syntax
  • Live API integration: Real-time weather data fetched from FMI EDR API and displayed in a table format
  • Developer resources: React, Material UI, TypeScript, and Vite documentation links
  • Actionable CTAs: Direct buttons to create issues, view PRs, and view repository issues

Technical Implementation

Live Weather Data Display

  • Integrated with existing edrApi.ts service using the getPositionData function
  • Fetches real weather data from FMI EDR API for Oslo, Norway (Nov 28, 2025)
  • Displays response as a Material UI table showing parameter names, values, and units
  • Includes loading states, error handling, and refresh functionality
  • Type-safe implementation with TypeScript interfaces

API Example

The page demonstrates real-world API usage with live data:

https://opendata.fmi.fi/edr/collections/pal_skandinavia/position?
  f=CoverageJSON&
  parameter-name=Temperature,WindSpeedMS,TotalCloudCover&
  datetime=2025-11-28T12:00:00Z&
  coords=POINT(10.752 59.913)

Weather parameters are displayed in an easy-to-read table format with columns for Parameter, Value (formatted to 1 decimal place), and Unit.

Updates Based on Feedback

  1. Workflow clarification: Updated step 3 to clarify that the coding agent creates pull requests, and step 4 to "Review and Preview" with Firebase Hosting deployment info
  2. PR navigation: Added "View Pull Requests" button for easy access to PRs
  3. Model name correction: Fixed "PAL-AROME model" to "MEPS" (correct model name)
  4. Live data integration: Replaced hardcoded JSON example with real API call displaying results in a table
  5. Type safety: Added proper type checking for numeric values to prevent runtime errors

Screenshots

Before: Technical collection viewer
before

After: Trainee-focused onboarding with live API data
after

Original prompt

This section details on the original issue you should resolve

<issue_title>Change start page of the application</issue_title>
<issue_description>This repository is starting point for vibe coding trainees to start creating issues to implement nice weather app. App will get its data from the EDR service as there is already starting point for that. Data is available from EDR API like this https://opendata.fmi.fi/edr/collections/pal_skandinavia/position?f=CoverageJSON&parameter-name=TotalCloudCover%2CWindSpeedMS%2CWindDirection%2CTemperature%2CPrecipitation1h%2CPoP%2CHumidity%2CHourlyMaximumGust%2CDewPoint&datetime=2025-11-22T22%3A00%3A00Z%2F2025-12-07T12%3A00%3A00Z&coords=POINT%289.886+62.025%29

Create instructions for the trainees (displayed in the staring page) how to start vibe coding by creating issues and so on.</issue_description>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

@github-actions
Copy link

github-actions bot commented Nov 27, 2025

Visit the preview URL for this PR (updated for commit 39ba48c):

https://vibe-fmi--pr5-copilot-change-start-q81mvndo.web.app

(expires Sun, 28 Dec 2025 00:31:21 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: fdcba6c351e50e7333c95efd1d7e1954c7a17328

Copilot AI changed the title [WIP] Update start page with trainee instructions Transform start page into vibe coding trainee onboarding Nov 27, 2025
Copilot AI requested a review from mrauhala November 27, 2025 23:42
Copilot finished work on behalf of mrauhala November 27, 2025 23:42
src/App.tsx Outdated
<ListItem>
<ListItemText
primary="4. Submit a Pull Request"
secondary="Once your feature is ready, create a pull request for review"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coding agent does that for the users. Maybe say something like that coding agent creates pull request and plan and result can be viewed from there and create additional button to pr page of the repo. Also this repo has GitHub action that deploys pr to firebase hosting for previewing, but that requires allowing the workflow to run when agent is done.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in commit 82457c7. Step 3 now clarifies that the coding agent creates the pull request, and step 4 is renamed to "Review and Preview" with information about the automatic Firebase Hosting deployment.

Added a "View Pull Requests" button to navigate to the PRs page.

Updated workflow steps

src/App.tsx Outdated
<strong>API Endpoint:</strong> https://opendata.fmi.fi/edr

<Typography variant="body2" paragraph>
<strong>Default Collection:</strong> pal_skandinavia (PAL-AROME model for Scandinavia)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Model is called MEPS even though id is pal_skandinavia

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in commit 82457c7. Changed from "PAL-AROME model" to "MEPS".

Corrected model name

Copy link
Collaborator

@mrauhala mrauhala left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot give maybe example result from the Oslo request that you put on . Date has to be from fri 28.11.2025.

Copy link
Contributor Author

Copilot AI commented Nov 27, 2025

@copilot give maybe example result from the Oslo request that you put on . Date has to be from fri 28.11.2025.

Added in commit 82457c7. Updated the API example to use Friday, Nov 28, 2025 and added an "Example Response" section showing the CoverageJSON format with sample weather data (Temperature: 2.3°C, Wind: 4.5 m/s, Cloud Cover: 65%).

API example with response

Copilot finished work on behalf of mrauhala November 27, 2025 23:57
Copilot AI requested a review from mrauhala November 27, 2025 23:57
src/App.tsx Outdated
The OGC Environmental Data Retrieval (EDR) API provides a standard way to query
and retrieve environmental data. This application uses the FMI Open Data EDR
endpoint.
The API returns data in CoverageJSON format. Here's a sample of what you might receive:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot I don't want hardcoded sample, but actual response from the above request. And not the coverage json, but maybe just table of parameters and their values. There is already beginning of the edrapi implementation.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implemented in commit 55a78fd. Removed the hardcoded JSON sample and replaced it with a real API call using the existing getPositionData function from edrApi.ts. The response is now displayed as a clean table showing parameter names, values, and units.

The implementation includes:

  • Live API data fetching on page load
  • Material UI table with Parameter, Value, and Unit columns
  • Loading spinner while fetching
  • Error handling with informative messages
  • Refresh button to reload data

When the API is accessible (e.g., on Firebase Hosting), the table will display real weather data from the FMI EDR API for Oslo on Nov 28, 2025.

API response table implementation

Copy link
Contributor Author

Copilot AI commented Nov 28, 2025

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • opendata.fmi.fi
    • Triggering command: /usr/bin/curl curl -s REDACTED,WindSpeedMS,TotalCloudCover&amp;datetime=2025-11-28T12:00:00Z&amp;coords=POINT(10.752%2059.913) (dns block)
    • Triggering command: /usr/bin/curl curl -s REDACTED (dns block)
    • Triggering command: /usr/bin/curl curl -s REDACTED,WindSpeedMS,TotalCloudCover&amp;datetime=2025-11-28T00:00:00Z&amp;coords=POINT(10.752%2059.913) (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI changed the title Transform start page into vibe coding trainee onboarding Transform start page into vibe coding trainee onboarding with live API integration Nov 28, 2025
Copilot finished work on behalf of mrauhala November 28, 2025 00:09
Copilot AI requested a review from mrauhala November 28, 2025 00:09
…-hour time range

- Update interface to match actual API response structure
- Handle symbol as object with {type, value} properties
- Display weather data for multiple time steps in table
- Add Time column to show hourly forecasts
- Update API query to fetch 3-hour range (12:00-15:00 UTC)
- Add proper error handling and logging
- Format parameter names for better readability
@mrauhala mrauhala marked this pull request as ready for review November 28, 2025 00:33
@mrauhala mrauhala merged commit 31d5304 into main Nov 28, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Change start page of the application

2 participants