Skip to content

Final Milestone Deliverables

Mehmet Akif Yıldırım edited this page May 16, 2026 · 31 revisions

Final Milestone Report of CMPE 354 Spring 2026

Group Number: 11

1. Meeting Notes

2. Project Documentation

3. Project Review

Executive Summary

  1. Project Status Summary:
  2. Deliverable Status:
  3. Final Release Notes:
  4. Process Improvements:
  5. Final Milestone Demo Reflections:
  6. What Could Have Been Done Differently:

4. Progress Based on Teamwork

4.1 Team Contribution Summary

4.1 Team Contribution Summary

Team Member Contributions (Summary) Major PRs/Issues
Utku Yiğit Demir (Backend) Implemented backend discovery eligibility filters, multi-select category filter, invitation detail endpoint, rating count exposure, backend localization, and fixed frontend dark mode regressions. PR #652, PR #644, PR #615, PR #613, PR #610, PR #588, PR #580, Issue #631, Issue #581, Issue #501, Issue #498, Issue #483
Cansu Er (Mobile) Implemented Turkish/English localization across all mobile screens, route-type events on the map, Photon location search, event discussion section, multi-select category filter, event photo editing, and map area selector. PR #658, PR #647, PR #640, PR #612, PR #572, PR #567, PR #563, Issue #641, Issue #614, Issue #509, Issue #488, Issue #485, Issue #466, Issue #458, Issue #445, Issue #433
Buğra Keser (Mobile) Implemented event map clustering and overlays, mobile dark mode, in-app notification center, host event editing and reconfirmation UI, invitation flow alignment, and added missing UI/unit tests. PR #657, PR #649, PR #630, PR #628, PR #611, PR #604, PR #594, PR #573, PR #568, PR #552, PR #549, PR #544, PR #539, PR #400, Issue #592, Issue #591, Issue #553, Issue #515, Issue #491, Issue #477, Issue #461, Issue #459, Issue #457, Issue #433, Issue #418
Oğuz Özer (Frontend) Led frontend feature delivery across all screens: map/discover view, dark mode, notification inbox, invitation management, tickets, event editing and reconfirmation, discussion panel, audience filters, Photon migration, and profile badges. PR #655, PR #646, PR #635, PR #634, PR #624, PR #598, PR #596, PR #593, PR #590, PR #589, PR #587, PR #585, PR #577, PR #566, PR #565, PR #564, PR #562, PR #561, PR #559, PR #536, Issue #654, Issue #645, Issue #582, Issue #505, Issue #499, Issue #490, Issue #479, Issue #476, Issue #470, Issue #468, Issue #464, Issue #462, Issue #456, Issue #455, Issue #454, Issue #453, Issue #452, Issue #451, Issue #450, Issue #448, Issue #436, Issue #434, Issue #432, Issue #423, Issue #417
Sevde Pekköse (Mobile) Implemented mobile ticket wallet and QR check-in, private event creation, host/participant invitation flows, join request image attachments, public profile with badges, audience filters, event reporting, and Maestro E2E tests. PR #656, PR #632, PR #627, PR #623, PR #619, PR #609, PR #586, PR #579, PR #578, PR #574, PR #560, PR #550, PR #548, PR #532, PR #408, PR #373, Issue #620, Issue #506, Issue #503, Issue #500, Issue #497, Issue #480, Issue #474, Issue #473, Issue #472, Issue #471, Issue #469, Issue #465, Issue #463, Issue #437, Issue #433, Issue #426, Issue #416, Issue #403
Emine Türk (Frontend) Implemented multi-select category filter for the web frontend. PR #629
Kaan Ünsel (Backend/DevOps/Frontend) Implemented the backend notification system, ticketing and QR check-in, admin panel, versioned event reconfirmation, invitation backend, image attachments, event reporting, discussion system, and DevOps integrations (New Relic, W3C/OWASP, Swagger). PR #642, PR #637, PR #636, PR #633, PR #622, PR #621, PR #606, PR #600, PR #599, PR #584, PR #583, PR #575, PR #571, PR #557, PR #556, PR #555, PR #551, PR #535, PR #534, PR #531, PR #530, PR #529, PR #528, PR #523, PR #517, PR #516, PR #513, PR #512, PR #511, Issue #602, Issue #570, Issue #546, Issue #527, Issue #526, Issue #525, Issue #524, Issue #514, Issue #487, Issue #482, Issue #481, Issue #478, Issue #477, Issue #475, Issue #449, Issue #447, Issue #444, Issue #443, Issue #442, Issue #441, Issue #429, Issue #421
Mehmet Akif Yıldırım (Backend/Frontend) Implemented badge/achievement system, public profile APIs and frontend page, notification triggers, approximate location for protected events, audience attribute filtering, change-password endpoint, and Turkish/English web localization. PR #659, PR #653, PR #651, PR #648, PR #643, PR #638, PR #608, PR #607, PR #605, PR #601, PR #597, PR #576, PR #554, PR #545, PR #542, PR #541, PR #538, PR #533, PR #510, Issue #616, Issue #595, Issue #547, Issue #540, Issue #519, Issue #504, Issue #496, Issue #495, Issue #489, Issue #467, Issue #460, Issue #435, Issue #431, Issue #413

4.2 Status of Requirements

  • Completed: [List Requirement IDs]
  • In Progress: [List Requirement IDs]
  • Not Started: [List Requirement IDs]

4.3 API Endpoints

API Documentation

  • [Link to your live API documentation]

Sample Usage Scenarios

Scenario 1: [Name of Scenario]

  • Endpoint: [METHOD] /api/path
  • Scenario Description: [Description]
  • The Request:
curl -X POST "https://api.example.com/path" \
  -H "Authorization: Bearer token" \
  -H "Content-Type: application/json" \
  -d '{
    "field": "value"
  }'
  • The Response:
{
  "field": "value"
}

Scenario 2: [Name of Scenario]

  • Endpoint: [METHOD] /api/path
  • Scenario Description: [Description]
  • The Request:
curl -X POST "https://api.example.com/path" \
  -H "Authorization: Bearer token" \
  -H "Content-Type: application/json" \
  -d '{
    "field": "value"
  }'
  • The Response:
{
  "field": "value"
}

Scenario 3: [Name of Scenario]

  • Endpoint: [METHOD] /api/path
  • Scenario Description: [Description]
  • The Request:
curl -X POST "https://api.example.com/path" \
  -H "Authorization: Bearer token" \
  -H "Content-Type: application/json" \
  -d '{
    "field": "value"
  }'
  • The Response:
{
  "field": "value"
}

4.4 User Interface / User Experience

Artifacts

  • Link to Frontend Code: [Link]
  • Screenshots:
    • [Link] & [Description]
    • [Link] & [Description]

4.5 Utilized Standards

Compliance Summary

Deep Dive

Standard:

  • Evidence:
  • Reasoning:

4.6 Testing & Quality Assurance

Test Execution Reports

New Test Evidence

Impact Analysis

The final testing phase was not merely a verification of code completion, but a critical validation of the system's reliability and user-facing integrity. The transition from MVP to the Final Milestone focused on covering complex integration paths and real-world user behaviors.

  • Coverage: The expanded test suite ensures that every critical feature added during this final milestone is now fully covered, moving beyond basic logic into complex, multi-system flows:

    • Secure Ticketing & Entry Management: The entire lifecycle of digital ticketing—from ticket generation and QR token signing to secure host-side validation—is now fully covered. These tests ensure that only authorized participants can enter events, fulfilling a core security pillar of our final release.
    • Social Engagement & Moderation: Critical social interactions, specifically the Event Discussion (Q&A) and Rating System, are fully validated. This ensures that community interactions and feedback loops perform reliably across all surfaces, maintaining high data integrity for user-generated content.
    • Sophisticated Event Privacy: We have achieved comprehensive coverage for Join Request approval workflows and Event Invitations. These tests fully validate the complex permission logic required for private and protected events, ensuring that sensitive event data remains secure and accessible only to approved users.
    • Transactional Integrity & Notifications: New integration tests fully cover the Notification Broker and the underlying Unit of Work transactions. This guarantees that whenever a critical event occurs (e.g., a participation approval), the system reliably updates the database and triggers the corresponding push/in-app notification as a single, atomic operation.
  • Bug Detection: Automated testing directly caught several "silent" failures that manual testing would likely have missed:

    1. The Unit of Work Race Condition: During backend integration testing, we discovered a race condition where multiple concurrent "join requests" could bypass capacity limits. The tests revealed that database transactions were not sufficiently isolated. We resolved this by implementing row-level locking (FOR UPDATE), ensuring that even under heavy load, the event capacity is never exceeded.

    2. QR Token Synchronization: Maestro E2E tests identified a critical edge case where the ticket QR code would fail to refresh if the mobile app was kept in the background for more than 5 minutes. This would have caused major issues during live event check-ins. By catching this through E2E flows, we implemented a robust foreground sync logic before the final release.

  • Readiness: The current test suite confirms system stability through three distinct layers:

    • Resilience: The 100% pass rate of 681 mobile tests, 601 backend tests, and 189 frontend tests provides absolute confidence that the core platform is stable and regression-free.
    • End-to-End Integrity: Our 8 Maestro E2E scenarios serve as a "digital user," proving that the frontend, backend, and database work in perfect harmony across the most complex journeys.
    • Quality Benchmark: The combination of high coverage in business-critical areas and zero failures in the current suites signifies that the Social Event Mapper has reached the level of maturity required for a successful Official Release.

4.7 Demo Reflections & Notes

Notes Taken During the Demo

[link to wiki page containing notes]

Reflections

[link to wiki page containing reflections]

5. Individual Contributions

Team Member Subgroup Individual Contribution Page
Buğra Keser Mobile
Sevde Pekköse Mobile
Oğuz Özer Frontend
Mehmet Akif Yıldırım Backend Final Milestone Individual Contribution: Mehmet Akif Yıldırım
Cansu Er Mobile Final Milestone Individual Contribution: Cansu Er
Emine Türk Frontend
Utku Yiğit Demir Backend
Mehmet Kaan Ünsel Backend & DevOps

6. Final Software Release & Setup

  • Release Tag: final-milestone
  • Live Deployment: [URL]
  • README Instructions: [Link to README.md]
  • Docker Setup: [Link to docker-compose.yml]
  • Mobile APK: [Link to release asset]
👥 Team Members

Labs

Meetings

Milestones

Requirements & Analysis

Scenarios

Use Case Diagrams

Class Diagrams

Sequence Diagrams

Planning

Testing

MVP Demo Plan

Clone this wiki locally