-
Notifications
You must be signed in to change notification settings - Fork 1
Final Milestone Individual Contribution: Cansu Er
-
Responsibilities: Mobile team member. Responsible for implementing core mobile features including event discovery, localization (i18n), route-type events, event discussions, category filtering, and contributing to project documentation and planning deliverables.
-
Main Contributions:
- Implemented full Turkish/English localization (i18n) for the mobile app across all screens, including EditEvent, Ticket, PublicProfile, and EventActions (#509, #614)
- Implemented multi-select category filter in the discovery screen (#485)
- Implemented route-type event creation and rendering on mobile (#488)
- Implemented Event Discussion Section (Q&A and post-event comments) (#458)
- Replaced Nominatim with Photon for location search (#466)
- Added event photo editing capability after event creation (#641)
- Added map search area control and ticket status polling improvements (PR #658)
-
Significant Issues (Top 3 per category):
-
Code-Related:
-
Issue #509: Added Turkish and English localization support to the mobile app — implemented
i18ninfrastructure and translated all strings across all screens. - Issue #488: Implemented creation and rendering of route-type events on mobile, including map-based route display.
- Issue #458: Implemented Event Discussion Section (Q&A and post-event comments).
-
Issue #509: Added Turkish and English localization support to the mobile app — implemented
-
Non-Code-Related:
- Issue #445: Created the Project Retrospective wiki page for Lab 8 summarizing lessons learned and team reflections.
- Issue #522: Wrote individual acceptance test cases for Lab 9 to define user-facing test scenarios.
- Issue #660: Created the Final Milestone Report issue structure — defined the template, created the parent issue and all section sub-issues (#661–#664), and filled Sections 1 & 2.
-
Code-Related:
-
Pull Requests:
- PR #658: fix(mobile): localize remaining parts, improve ticket flow, select map area — merged
- PR #647: feat(mobile): allow editing event photo — merged
- PR #640: feat(mobile): allow multi-select category filter in discovery — merged
- PR #612: feat(mobile): add Turkish/English localization to mobile app (#509) — merged
- PR #572: feat(mobile): create and render route-type events on mobile (#488) — merged
- PR #567: feat(mobile): replace Nominatim with Photon for location search (#466) — merged
- PR #563: feat(mobile): Event Discussion Section (Q&A and Post-Event) (#458) — merged
-
Reviewed:
- PR #659: feat(frontend): public profile badges and join request profile links
- PR #657: test(mobile): add missing UI and unit tests
- PR #649: fix(mobile): map rendering, localization issues and minor bugs
- PR #632: fix(mobile): optimize ticket synchronization and fix scanner race condition
- PR #578: feat(mobile): add image attachment support to join requests
- PR #574: feat(mobile): implement join request withdrawal and invitation revocation
-
AI Transparency & Documentation:
-
Tool summary:
- Claude (Claude Code): Used for agentic code generation throughout feature implementation. The prompting pattern was conversational: describing the feature to be implemented, manually testing the result, then describing any observed issues and asking for a fix iteratively.
- Gemini: Used for diagnosing and troubleshooting build failures caused by a persistent local environment issue on my machine that blocked development for a significant period. Also used to generate realistic event titles and descriptions when populating seed data for the demo.
- Prompts: Unfortunately, no formal prompt log was maintained for the agentic code generation sessions, they were discarded after the session, but the workflow and the conversations were as described. Gemini conversation links for build troubleshooting and seed data generation: https://gemini.google.com/share/2a79a2141e3a https://gemini.google.com/share/d561694fdd6f https://gemini.google.com/share/c9c2d95b3147
-
Tool summary:
-
Individual Testing Efforts:
-
useEventDiscussionViewModel.test.ts,commentService.test.ts,EventDetailView.test.tsx, commit9be7151: Unit and view-model tests for the Event Discussion Section (Q&A and post-event comments), covering comment creation, reply flow, and UI rendering. -
eventService.test.ts,useCreateEventViewModel.test.tsx,CreateEventView.test.tsx,EventDetailView.test.tsx, commited7d5d6: Service and view-model tests for route-type event creation and rendering, including map route data handling. -
eventService.test.ts, commitf534676: Service-layer tests for the Photon location search integration, verifying query formatting and response parsing. -
EventCard.test.tsx,EventDiscussionSection.test.tsx,HostManagementModals.test.tsx,EventMapView.test.tsx,LocationPickerPanel.test.tsx,EventDetailView.test.tsx,MyEventsView.test.tsx,FavoriteLocationsTab.test.tsx,NotificationsView.test.tsx,ProfileView.test.tsx,TicketView.test.tsx, commit41ee772: Updated and aligned existing tests across all screens to match localized string keys introduced by the i18n implementation. -
CategoryChips.test.tsx,useHomeViewModel.test.tsx, commitfeb44b9: Unit tests for multi-select category filter component and its view-model state management. -
useEditEventViewModel.test.tsx,EditEventView.test.tsx,HomeView.test.tsx, commitefc6926: View-model and UI tests for event photo editing flow, including image picker integration and upload state. -
EventMapView.test.tsx,useLoginViewModel.test.tsx,useHomeViewModel.test.tsx,useTicketViewModel.test.tsx,HomeView.test.tsx, commit877468a: Tests for map area selection, ticket status polling, and login flow localization in the final localization and ticket flow PR.
-
-
Additional Information: I was primarily responsible for moderating the final demo presentation and preparing the demo flow for the team. Before the final milestone demo, I populated the platform with meaningful seed data — creating realistic events in both English and Turkish. I also performed manual end-to-end testing of both the web application and the Android APK to verify the golden path flows and catch regressions before the demo.
👥 Team Members
- Lab 1 Report (12.02.2026)
- Lab 2 Report (19.02.2026)
- Lab 3 Report (26.02.2026)
- Lab 4 Report (05.03.2026)
- Lab 5 Report (12.03.2026)
- Lab 6 Report (26.03.2026)
- Lab 7 Report (02.04.2026)
- Lab 8 Report (16.04.2026)
- Lab 9 Report (30.04.2026)
- Lab 10 Report (07.05.2026)
- Customer Meeting (17.02.2026)
- Weekly Meeting 1 (17.02.2026)
- Weekly Meeting 2 (25.02.2026)
- Weekly Meeting 3 (04.03.2026)
- Stakeholder Meeting (10.03.2026)
- Weekly Meeting 4 (11.03.2026)
- Database Design Meeting (18.03.2026)
- Weekly Meeting 6 (25.03.2026)
- Weekly Meeting 7 (01.04.2026)
- Weekly Meeting 8 (15.04.2026)
- Weekly Meeting 9 (06.05.2026)
- Scenario 1 - Discovering and Joining an Event
- Scenario 2 - Private Event Organization
- Scenario 3 - Public Event Organization
- Use Case Diagram (Final)
- Scenario 1 Use Case Diagram
- Scenario 2 Use Case Diagram
- Scenario 3 Use Case Diagram
- All Sequence Diagrams
- Sequence Diagram - Oğuz Özer
- Sequence Diagram - Emine Türk
- Sequence Diagram - Cansu Er
- Sequence Diagram - Sevde Pekköse
- Sequence Diagram - Buğra Keser
- Sequence Diagram - Mehmet Kaan Ünsel
- Sequence Diagram - Utku Yiğit Demir
- Sequence Diagram - Mehmet Akif Yıldırım