Simal Guven - bounswe/bounswe2025group1 GitHub Wiki

About Me

Hello! I'm Simal ✨ , a junior year Computer Engineering student at Bogazici University. I am also a member of Computer Networks Research Laboratory-NetLab.

Technical Skills

  • Programming Languages:

    • Java, Python, C/C++, Assembly
  • Libraries & Tools:

    • Kubernetes, Pandas, Numpy

Work Experience

  • 🏒 AI Development Intern – Etiya(Python)
  • 🏫 Student Teaching Assistant for CmpE150 & CmpE250 - Boun(Python&Java)

Personal Interests

  • Tango Dancing
  • Skiing

Contact

πŸ“§ Email: [email protected]


Weekly Effort Report

πŸ“… Week 1
Task Name Duration Result Issue of the Task
Created Personal Wiki Page 30m Completed #11
Attended Weekly Meeting #1 35m Completed Meeting 1
πŸ“… Week 2
Task Name Duration Result Issue of the Task
Attended weekly meeting, took notes and requested one review, assigned week's tasks 120m Completed Meeting 2
Added a glossary to requirements 50m Completed #30
πŸ“… Week 3
Task Name Duration Result Issue of the Task
Created scenario #7 45 minutes Completed Scenario 7
Attended Weekly Meeting #3 1 hour Completed Meeting 3
Attended customer meeting 1 hour Completed CustomerM.
πŸ“… Week 4
Task Name Duration Status Notes
Designed use case diagram #1 - Task Assignment 105 minutes Completed #62
Reviewed review issue template 15 minutes Completed #49
Attended Weekly Meeting #4 1 hour Completed Meeting 4
πŸ“… Week 5
Task Name Duration Status Notes
Designed sequence diagram #1 - Task Assignment 110 minutes Completed #81 ,#104
Merged use case diagrams into lucidchart - Task Assignment 180 minutes Completed #76
Attended Weekly Meeting #5 - hour Not a conference meeting Meeting 5
πŸ“… Week 6
Task Name Duration Status Notes
Designed sequence diagram #3 - Task Assignment 100 minutes Completed #81,#106
Reviewed sequence diagram #2 - Task Assignment 30 minutes Completed #110
Attended Weekly Meeting #6 40 minutes Completed Meeting 6
πŸ“… Week 7 No work done.
πŸ“… Week 8
Task Name Duration Status Notes
First implementation issues were distributed, started learning React 200 minutes No implementation done #133
Weekly meeting 8 note taking 50 minutes Completed Meeting 8
πŸ“… Week 9 No work done.
πŸ“… Week 10 No work done.
πŸ“… Week 11
Task Name Duration Status Related PR
Reviewed frontend PR #153- Review 20 minutes Completed #153
Reviewed feature/133-login-register-mobile -Review 20 minutes Completed #171
Started Garden mobile implementation with integrating captcha into login-register feature 90 minutes Completed #175
Written task view and gardenmembership view API endpoints in order to continue mobil dev 100 minutes Completed #175
Started feature/173-garden-mobile 300 minutes Continuing #175

SPRING BREAK

πŸ“… Week 12
Task Name Duration Status Related PR
Reviewed feature/135-forum-mobile -Review 100 minutes Completed #180
Completed feature/173-garden-mobile, solved merge conflicts, merged 250 minutes Completed #175
Attended Weekly Meeting #9 40 minutes Completed Meeting 9
πŸ“… Week 13
Task Name Duration Status Related PR
Completed feature/182 weather api mobile, created a PR, merged 200 minutes Completed #188
Completed feature/189 self assigning a task, created a PR, merged 150 minutes Completed #191
Reviewed Bug/184 follow mechanism mobile -Review 40 minutes Completed #185
Reviewed feature/187-block-unblock -Review, detected a bug asked for a fix 60 minutes Completed #193
Reviewed PR Added "my-gardens" endpoint to Backend -Review 20 minutes Completed #196

Implemented External API

Besides implementing backend endpoints and UI components for task and garden management, I integrated the Open-Meteo API to provide real-time weather data in our mobile application.

πŸ“Œ Overview

The WeatherWidget component allows users to view current weather updates in their selected city (based on profile location). It fetches meteorological data from the Open-Meteo API and displays temperature, humidity, wind speed, and apparent temperature.

This feature is useful in a garden-focused task planning platform where:

  • Gardeners can check weather conditions before scheduling or executing outdoor tasks.
  • Community members can prepare for adverse weather when planning garden events.
  • The system becomes more context-aware and user-friendly.

πŸ” Functionality

  • Input: city prop passed to the component (e.g., "Ankara", "Istanbul"), coming from the user’s profile data.

  • Processing:

  • The component uses the city name to get latitude & longitude via Open-Meteo’s Geocoding API (/v1/search?name=CityName).

  • It then sends a GET request to the Forecast API using the coordinates.

  • Retrieves current weather conditions.

  • Output: JSON response is parsed and displayed using styled React Native components within the app.

πŸ§ͺ Example Use Case

A logged-in user from Ankara opens the mobile app. The app fetches their city from their profile and sends:

GET https://geocoding-api.open-meteo.com/v1/search?name=Ankara&count=1

Receives:

{
  "results": [
    {
      "latitude": 39.9208,
      "longitude": 32.8541,
      "name": "Ankara"
    }
  ]
}

Then sends:

GET https://api.open-meteo.com/v1/forecastlatitude=39.9208&longitude=32.8541&current=temperature_2m,apparent_temperature,weather_code,wind_speed_10m,relative_humidity_2m&timezone=auto

Receives:

{
   "current": [
    {
     "temperature_2m": 25.4,
     "apparent_temperature": 26.1,
     "wind_speed_10m": 9.8,
     "relative_humidity_2m": 55
    }
  ]
}

This is rendered to the user inside the WeatherWidget.

βš™οΈ Technical Notes

  • Frontend Component: components/WeatherWidget.tsx
  • Props: city: string β€” dynamically passed based on user profile
  • Uses: axios, useEffect, useState
  • API Endpoints Used: Geocoding: https://geocoding-api.open-meteo.com/v1/search Forecast: https://api.open-meteo.com/v1/forecast
  • Display Fields: Temperature, apparent temperature, humidity, wind speed, and city name
  • Style: Custom React Native styles with greenish background (#dbeccf)

βœ… Benefits

  • Provides real-time context-aware information to users
  • Encourages more informed decision making for outdoor gardening tasks
  • Lightweight and free-to-use API, with no authentication needed
  • Doesn’t require storing weather data locally
  • Easy to extend for weekly forecasts or severe weather alerts

πŸ”€ Branch

This implementation was included in the feature/182-weatherAPI-mobile branch and merged via PR #188.

⚠️ **GitHub.com Fallback** ⚠️