Simal Guven - bounswe/bounswe2025group1 GitHub Wiki
Hello! I'm Simal β¨ , a junior year Computer Engineering student at Bogazici University. I am also a member of Computer Networks Research Laboratory-NetLab.
-
Programming Languages:
- Java, Python, C/C++, Assembly
-
Libraries & Tools:
- Kubernetes, Pandas, Numpy
- π’ AI Development Intern β Etiya(Python)
- π« Student Teaching Assistant for CmpE150 & CmpE250 - Boun(Python&Java)
- Tango Dancing
- Skiing
π§ Email: [email protected]
π 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 |
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.
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.
-
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.
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¤t=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.
- 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)
- 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
This implementation was included in the feature/182-weatherAPI-mobile branch and merged via PR #188.