MVP Milestone Individual Contribution: Utku Yiğit Demir - bounswe/bounswe2026group11 GitHub Wiki

Utku Yiğit Demir (Backend)

Responsibilities

  • Implemented core backend features including event discovery, event detail, favorites, event
    lifecycle transitions, and response enrichment.
  • Designed and maintained OpenAPI documentation for event and profile endpoints.
  • Contributed to requirements refinement, use case scenarios, sequence diagrams, and mockup
    designs.
  • Contributed to lab reports and project documentation artifacts.
  • Performed code reviews on backend, frontend, and DevOps pull requests throughout the MVP process.

Main Contributions

  • Implemented the event discovery endpoint with search, filtering (category, location/radius, time range, privacy level), cursor-based pagination, and distance sorting.
  • Implemented the event detail endpoint returning full event information including location, tags, constraints, category, and host context.
  • Implemented the list-categories endpoint for populating category selection on clients.
  • Implemented the cancel-event endpoint allowing hosts to cancel their owned events with proper state validation.
  • Implemented favorite event toggle (POST/DELETE /events/:id/favorite) and favorite listing (GET /me/favorites) endpoints.
  • Fixed missing favorite_count in the discovery response so mobile event cards display correct save counts.
  • Added IN_PROGRESS event status with two-phase lifecycle transitions (ACTIVE → IN_PROGRESS at start time, IN_PROGRESS → COMPLETED at end time).
  • Reduced the background event expiry job interval from 5 minutes to 1 minute for faster lifecycle transitions.
  • Added participants_count and location_address to event summary responses so mobile clients can render event cards without extra detail requests.
  • Created scenario 3 mockup designs for the walking event organization flow.
  • Contributed to requirements refinement, use case scenario creation, sequence diagrams (Participant Cancelling Attendance), and lab reports.

Significant Issues (Top 3 per category)

Code-Related

Issue #201: Implemented the primary event discovery endpoint enabling users to browse events with keyword search, category/location/radius/time filtering, privacy level filtering, distance sorting, and cursor-based pagination. This is the core browsing mechanism of the MVP.

Issue #199: Implemented the cancel-event endpoint, allowing hosts to cancel events with proper authorization and state validation.

Issue #198: Implemented the event detail endpoint returning comprehensive event information including location data, tags, constraints, category, metrics, and host context summary.

Non-Code-Related

Issue #86: Created the sequence diagram documenting the participant attendance cancellation flow.

Issue #46: Co-authored use case scenario 3 (Athletics Community Organizes a Walking Event) with mockup designs.

Issue #285: Created and organized the Lab 7 report page for the team.


Pull Requests

  • PR #54: docs(design): add scenario 3 mockup designs — created 9 web mockups for the walking event scenario covering discover, create, route editor, schedule, and publish flows.
  • PR #100: feat: add button 8 with random dog image API page — stub app contribution during the initial project setup phase.
  • PR #283: fix(backend): reduce event expiry job interval to 1 minute — decreased the background job interval so events transition within 1 minute of their end time.
  • PR #284: feat(backend): add IN_PROGRESS event status with two-phase transitions — introduced the IN_PROGRESS lifecycle state with ACTIVE → IN_PROGRESS → COMPLETED transitions.
  • PR #297: feat(backend): add favorite event toggle and listing endpoints — implemented add/remove favorite and list favorites endpoints with integration tests.
  • PR #301: fix(backend): include favorite_count in discovery response — fixed mobile event cards showing 0 saves by adding favorite_count to discovery items.
  • PR #331: feat(backend): add participants_count and location_address to event summaries — enriched event summary responses for mobile card rendering.

Note: PR #296 was opened but subsequently closed in favor of a revised approach in PR #297.


Tests


Additional Information