Abdülkerim Kasar - bounswe/bounswe2025group5 GitHub Wiki

About Me

  • Hey, I'm Kerim. A senior Computer Engineering and Industrial Engineering Student at Boğaziçi University.
  • I am interested in various sports, including scuba diving, free diving, and hiking.
  • I also love to travel. I have been to two exchange semesters, once in India (IIT Bombay) and once in Spain (Uni. de Málaga).

Programming Languages

  • Python
  • C/C++
  • Java
  • HTML/CSS/JavaScript

Interests

  • Data Science
  • Traveling
  • Scuba-diving
  • Swimming

Contact Info

Contributions

Week 1: 12 February – 19 February

Task Effort Actual Time Related Issue
Created a template for personal wikipages Medium 30 minutes #8
Initialize Communication Plan High 50 minutes #7

Week 2: 20 February – 26 February

Task Effort Actual Time Related Issue
Upload Meeting Notes of week 2 Medium 1 hour #26
Learning git and github Medium 1 hour #27
Providing information about branching features for documentation High 1 hour #27
Add Elicitation Questions High 1 hour #30

Week 3: 27 February – 5 March

Task Effort Actual Time Related Issue
Research on Zero Waste Social Media Platforms Medium 2 hours #38
Add Functional Requirements Medium 1 hour #40
Review of the Functional and Non-Functional Requirements High 2 hours #33

Week 4: 6 March – 12 March

Task Effort Actual Time Related Issue
Create Draft Use Case Diagram Medium 2 hours #56
Add "Glossary" section to requirements page High 1 hours #51
Update Elicitation Questions with Customer Answers Medium 35 minutes #44
Add a User Scenario Medium 1 hour #61
Create Draft Class Diagram Medium 1 hour #67

Week 5: 13 March – 19 March

Task Effort Actual Time Related Issue
Update Historical Records & Templates High 1 hour #68
Add new Requirements about post interactions High 30 minutes #69
CMPE352 Midterm 1 preparations

Week 6: 20 March – 26 March

Task Effort Actual Time Related Issue
Improve Class Diagram Draft Medium 1 hour #73

Week 7: 27 March – 2 April

Task Effort Actual Time Related Issue
Add Sequence Diagram High 2 hours #81
  • First half of the holiday week

Week 8: 3 April – 9 April

  • Second half of the holiday week

Week 9: 10 April – 16 April

Task Effort Actual Time Related Issue
Upload Meeting Notes of Week 11 High 30 minutes #91
Learning about app development and initializing work setup Very High 5 hours #116

Week 10: 17 April – 23 April

Task Effort Actual Time Related Issue
Redesign wiki sidebar & refresh home page Medium 1 hour #110
Implement basic login and register functionality Very High 4 hours #115
Implementation improvements post–mobile meeting 3 Very High 7 hours #125
Upload meeting notes for mobile meetings (1,2) Medium 1 Hours #131

Week 11: 24 April – 30 April

Task Effort Actual Time Related Issue
Add mobile information documentation to the wiki Medium 1.5 hours #129
Update sidebar& pages for scenarios Medium 30 minutes #130
Upload meeting notes for mobile meetings (3,4) Medium 1 Hours #131
Home page dynamic implementations Very High 4 Hours #134
Upload meeting notes - meeting 14 Medium 25 minutes #158
Upload milestone 2 report and page Medium 1 hours #159

Week 12: 1 May - 7 May

Task Effort Actual Time Related Issue
Ask TAs about milestone reports and unit tests Low 15 minutes #168
Solve the bug regarding CORS policy blocking API requests from Expo web to local backend Very High 4 hours #171
Get saved posts API endpoint on backend Medium 1.5 hours #173
Home page: live user count & trending posts High 3 Hours #174 PR#190
Semantic search with correct navigation Medium 2 Hours #175 PR#190
PR review Low 20 minutes PR #191
Upload meeting notes - meeting 15 Low 20 minutes #180
PR review Low 15 minutes PR #198
PR review Low 20 minutes PR #200
Upload meeting notes - meeting 16 Low 25 minutes #204

Week 13: 8 May - 14 May

Task Effort Actual Time Related Issue
Research on mobile emulators for presentation Medium 1.5 Hours #205
Upload meeting notes - meeting 17 Low 25 minutes #216
Create mobile development branch Low 15 minutes #218
Create unit tests Low 1 hour #217
Implementation of waste goal/log page + emulator compatibility + enhanced UI Very High 7 Hours #220
Edit and Delete Posts Very High 4 hours #225
PR review Low 20 minutes PR #229
Upload meeting notes - meeting 18 Low 15 minutes #228
Image uploading while creating/editing posts High 2.5 hours #227
Add and View profile photo Medium 2 hours #243
Waste Goal page and progress bar related UI enhancements High 3 hours #242
PR review Low 20 + 40 minutes PR #246
bug: comments are not scrollable Low 25 minutes #252
*** Find external API, integrate it into backend, then implement it into mobile High 3 hours 257
PR review Low 20 minutes PR #251
bug: Home page buttons below the screen Low 1 hours #283
mobile/deployment Very High 5 hours #226
mobile/ create UI/UX documentation Medium 2 hours #306

*** Description and the implementation steps of the external API can be found in the corresponding row's commit cell.
** Due to an environment configuration bug, several of my commits on the mobile-kerim branch weren’t attributed to my account, can be viewed here


ABDÜLKERİM KASAR

Member

Abdülkerim Kasar, Group 5, Mobile (React Native/Expo).

Responsibilities

Group Communicator, Mobile Developer, Documenter.

Main Contributions

Mobile Development

  • Set up the mobile workspace, emulator configuration and a dedicated development branch: #116 & #218.
  • Implemented the authentication flow (basic login & register) and refactored it after Mobile Meeting 3: #115, #125.
  • Delivered a dynamic Home page featuring live user count and trending posts — merged in PR #190 (issue #174).
  • Implemented semantic search with deep-link navigation — merged in PR #190 (issue #175).
  • Built the end-to-end Waste Goal/Waste Log module with progress visualisation, emulator-safe layout and continuous UI upgrades: #220, #242.
  • Added post management tools: edit & delete posts (#225), image upload in post composer (#227) and profile-photo upload/view (#243).
  • Integrated the saved-posts API endpoint on mobile: #173.
  • Fixed critical runtime issues: CORS policy during local testing #171 and non-scrollable comments list #252).
  • Integrated a global environmental-data API from backend to mobile dashboard widget: #257.

Feature Implementation

  • Added unit tests for HomeScreen.test.tsx and PostItem.test.tsx using Jest & Testing-Library: #217.
  • Contributed to backend endpoints (saved posts, external API wrapper) and ensured Expo-web compatibility for new routes.

Project Management & Documentation

  • Authored the initial communication plan and personal wiki template: #7 & #8.
  • Published and moderated meeting notes for 14+ sessions (e.g., #26, #91, #216).
  • Re-organised the wiki sidebar, refreshed the home page and opened dedicated mobile-documentation sections: #110, #129, #130).
  • Drafted and iterated on UML artefacts – use-case, class and sequence diagrams: #56, #67, #81).
  • Expanded and reviewed requirements, glossary and user scenarios: #40, #51, #61).
  • Compiled and uploaded the Milestone 2 report and artefacts: #159).

Code-Related Significant Issues

  • #115 Basic login & register
  • #125 Mobile refactor after Meeting 3
  • #171 CORS policy fix
  • #174 Dynamic Home page (PR #190)
  • #175 Semantic search (PR #190)
  • #173 Saved-posts endpoint integration
  • #220 Waste Goal / Waste Log feature
  • #225 Edit & delete posts
  • #227 Image upload in posts
  • #243 Profile-photo upload/view
  • #257 External API integration

Management-Related Significant Issues

  • #7 Communication plan
  • #8 Personal wiki template
  • #110 Wiki sidebar redesign
  • #129 Mobile documentation hub
  • #158 & #159 Milestone 2 report & uploads
  • Meeting-note logs (e.g., #26, #131, #180, #228)

Pull Requests

Created

  • PR #190 Dynamic Home page, live metrics & semantic search
  • PR #189 Backend Side getSavedPosts API implementation
  • PR #224 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  • PR #248 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  • PR #258 External API (Number trivia), comment bugfix, more unit tests

Reviewed / Merged

Unit Tests

Unit tests for HomeScreen.test.tsx and PostItem.test.tsx are in mobile/__tests__/ and were merged via issue #217.

External API

  • Researched suitable external APIs and selected the public Numbers API for its simplicity and fit with our existing totalUserCount variable.
  • Implemented a new backend route /api/number/{n} by adding three Java files:
    • NumberController.java to expose the endpoint
    • NumberService.java to call the Numbers API and handle fallbacks
    • NumberTriviaResponse.java to model the returned JSON
  • On the mobile side, extended HomeScreen so that immediately after fetching usersCount it calls /api/number/{usersCount} and saves the returned trivia text.
  • Updated the UI to render the trivia fact below the trending posts (see screenshot in commit).
  • All changes committed in 25c6333 on mobile-kerim branch and documented in issue #257: backend service, controller, response model and mobile integration complete.

For a detailed log of weekly contributions and time spent, please see here.