-
Notifications
You must be signed in to change notification settings - Fork 1
Final Milestone Deliverables
Group Number: 11
- 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)
- Final SRS: Requirements
- Final Design: Final Use Case Diagram, Class Diagram, Sequence Diagrams
- Deployed Web App: socialeventmapper.com
- Mobile Release: GitHub Release
-
Project Status Summary:
Social Event Mapper reached a stable final release state for the CMPE 354 Spring 2026 Final Milestone. The system now provides a complete social event discovery and participation platform across web, mobile, and backend services. Users can create events, discover events through list and map views, join public events, request access to protected events, receive invitations for private events, manage tickets, participate in discussions, submit reviews, report inappropriate content, and interact with notification flows.
The final milestone expanded the MVP into a more complete product by adding advanced event-management capabilities such as map based discovery page, versioned event updates, participant reconfirmation after critical changes, route-based events, approximate location handling for protected events, badge/achievement features, audience-based discovery filters, localization, dark mode, and stronger admin/moderation support.
-
Deliverable Status:
All major final milestone deliverables were completed and integrated into the main branch. The backend API, web frontend, and mobile application are available through the final release package. The web application is deployed at socialeventmapper.com, the backend API is documented through Swagger UI, and the Android APK is published under the final milestone GitHub release.
The team also completed supporting documentation, including final requirements, final design artifacts, sequence diagrams, API endpoint documentation, test execution reports, individual contribution pages, and release/setup instructions. Automated test reports were prepared for backend, frontend, and mobile, and additional Maestro E2E scenarios were added for critical mobile flows.
-
Final Release Notes:
The final release includes the following major improvements over the MVP:
- Web and mobile event discovery with improved filtering, category handling, map-based browsing, and location-aware behavior
- Event creation with point and route location support, image handling, privacy settings, audience attributes, and participation constraints
- Event detail pages with mini-map/directions, join/request/invitation actions, discussion and review sections, report actions, and rating counts
- Versioned event editing and reconfirmation flows for critical event updates
- Ticket wallet and QR-based check-in support
- Notification inbox and push/in-app notification flows
- Badge and achievement system with profile integration
- Public profile pages and profile asset support
- Turkish/English localization across main surfaces
- Dark mode and responsive UI improvements
- Admin/moderation tools for reports, users, events, notifications, ratings, tickets, and badges
-
Process Improvements:
Compared to earlier milestones, the team improved coordination by using smaller feature branches, clearer GitHub issue scopes, more consistent PR review practices, and better separation of backend, frontend, and mobile responsibilities. The final milestone also benefited from more explicit API contracts, Swagger/OpenAPI documentation, and cross-platform alignment between web and mobile implementations.
Testing became more systematic during the final milestone. Backend integration tests, frontend component/unit tests, mobile unit tests, and Maestro E2E scenarios were used together to validate critical user flows. The team also relied more heavily on manual end-to-end testing before the demo, especially for flows that involved multiple surfaces such as event editing, reconfirmation, tickets, notifications, and invitations.
-
Final Milestone Demo Reflections:
The final milestone demo showed that the project had evolved from an MVP into a feature-rich social event platform. The strongest parts of the demo were the complete event lifecycle, map-based discovery, route/location features, private/protected participation flows, ticketing, discussion/review interactions, and notification behavior.
The demo preparation also helped reveal final UI and integration issues, especially around dark mode, event editing feedback, map-card scrolling, image handling, and synchronization between updated backend state and frontend views. Addressing these issues before the release improved the overall polish and reliability of the product.
-
What Could Have Been Done Differently:
Some complex features, especially event versioning/reconfirmation, ticketing, notifications, and route-based map behavior, could have benefited from earlier cross-platform planning. Implementing these near the final milestone created integration pressure between backend, web, and mobile teams.
The team could also have maintained a more formal test-plan document earlier in the semester, especially for multi-step flows involving different user roles. In addition, UI consistency tasks such as dark mode, localization, and responsive behavior would have been easier if they had been treated as continuous requirements from the beginning rather than concentrated near the final release.
Finally, more frequent demo-style rehearsals throughout development could have helped catch user-facing issues earlier and reduced the amount of final-week polishing needed.
| 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 |
- Completed: [List Requirement IDs]
- In Progress: [List Requirement IDs]
- Not Started: [List Requirement IDs]
The final backend API documentation is available through the deployed Swagger UI at https://socialeventmapper.com/api/docs/. The complete endpoint coverage summary and four complex sample usage scenarios are documented on the dedicated wiki page: Final Milestone API Endpoints.
- Link to Web Frontend Code: frontend/src
- Link to Mobile Code: mobile/src
- [Screenshot Link] & Web discovery page with map-based event browsing and filtering.
- [Screenshot Link] & Web event detail page showing final milestone interaction areas such as discussion, ticketing, map preview, or feedback.
- [Screenshot Link] & Web event creation/editing flow with updated final milestone event management UI.
- [Screenshot Link] & Web notification center for user activity updates.
- [Screenshot Link] & Web invitation management flow.
- [Screenshot Link] & Web ticket or QR check-in interface.
- [Screenshot Link] & Web public profile page with badges/rating-related trust signals.
- [Screenshot Link] & Web admin/moderation interface.
- [Screenshot Link] & Mobile discovery page with list/map toggle.
- [Screenshot Link] & Mobile event map with clustering, category markers, and location overlays.
- [Screenshot Link] & Mobile dark mode on a representative main screen.
- [Screenshot Link] & Mobile in-app notification center.
- [Screenshot Link] & Mobile host event editing and attendance reconfirmation UI.
- [Screenshot Link] & Mobile invitation flow under the profile area.
- [Screenshot Link] & Mobile ticket wallet / QR ticket screen.
- [Screenshot Link] & Mobile public profile with badges.
Standard:
- Evidence:
- Reasoning:
- Backend API: Backend Coverage HTML Report | Backend JUnit XML | Backend Verbose Logs
- Web App: Frontend Coverage HTML Report | Frontend JUnit XML | Frontend Verbose Logs
- Mobile App: Mobile Coverage HTML Report | Mobile JUnit XML | Mobile Verbose Logs
- Integration Tests: Backend Integration Tests Source
- End-to-end (E2E) Tests: Mobile Maestro E2E Scenarios
- UI/UX Tests: Frontend Component Tests & Mobile Component Tests
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.
[link to wiki page containing notes]
[link to wiki page containing reflections]
| Team Member | Subgroup | Individual Contribution Page |
|---|---|---|
| Buğra Keser | Mobile | |
| Sevde Pekköse | Mobile | Final Milestone Individual Contribution: Sevde Pekköse |
| Oğuz Özer | Frontend | Final Milestone Individual Contribution: Oğuz Özer |
| 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 | Final Milestone Individual Contribution: Mehmet Kaan Ünsel |
-
Release Tag:
final-milestone - Release Page: GitHub Release 1.0.0
- Live Deployment: socialeventmapper.com
- Live API Documentation: Swagger UI
- README Instructions: README.md
- Docker Setup: Local Docker Compose | Development Docker Compose | Deployment Guide
-
Environment Templates: Deployment
.env.example| Frontend.env.example| Mobile.env.example - Mobile APK: social-event-mapper-final-milestone.apk
👥 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