Customer Milestone 2 Report of CMPE 451 Fall 2025 - bounswe/bounswe2025group2 GitHub Wiki
CMPE 451 – Fall 2025
-
Glossary as a Domain-Specific Feature Was Successful (but needs deeper content):
The instructor appreciated the addition of the fitness glossary, noting it as a valid domain-specific element. However, she emphasized that the content should go beyond simple definitions. For example, the glossary explains what periodization is but does not explain what happens if users do not periodize their training. She expects more practical, consequence-oriented explanations. -
Glossary Currently Feels Static:
The glossary is fixed and cannot be updated by users. The instructor suggested making it more adaptable rather than purely static. -
Current Glossary Interaction Flow Is Unintuitive:
During the demo, encountering a glossary term in chat required leaving the chat and manually searching the term. She found this workflow unintuitive and disruptive. -
Chat Lacks User Search and Direct Start Options:
The chat system currently forces users to scroll through a full user list to find someone. The instructor pointed out this is inefficient and highlighted the need for a proper search mechanism and a quicker way to initiate conversation (e.g., starting a chat directly from a user’s profile). -
Goal Mechanism Needs Predefined Units:
Goal units are currently entered as free text, which creates inconsistent inputs. The instructor recommended providing predefined units (km, minutes, kg, reps, etc.) while still allowing custom entries. -
Optional: Nutrition Reference Page:
She suggested adding nutritional values for common foods as a reference section. This was optional and not emphasized as a core requirement.
-
Integration With Other Features:
We realized that the glossary currently feels disconnected from the rest of the system. To make it more intuitive, we plan to:- Detect glossary terms in chat/forum messages and allow users to click them for quick access.
- Show hover/tap previews of definitions when terms appear in other modules.
- Add an option for users to use glossary terms when they are posting-chatting etc.
-
Making It Dynamic & Improving Content:
The glossary is static and its definitions are limited. We want to:- Allow coach-type users to create, edit, or remove glossary items.
- Enrich entries with deeper context (e.g., not only “What is periodization?” but also “What happens if training is not periodized?”).
-
Improving Chat Accessibility:
Currently, users must manually scroll through a long list to start a conversation, which is not ideal. To improve this, we can:- Add a “Start Chat” button directly on each user’s profile.
- Add a search bar on the chat page to quickly find users.
-
Enhancing Unit Input Usability:
At the moment, users type units manually, which risks inconsistencies. We plan to:- Introduce predefined unit options for common use cases.
- Keep the free-text option for unusual or domain-specific units.
- The instructor proposed adding a page containing nutrition values of various foods for reference. As a team, we currently do not prioritize this, but it can be reconsidered if time allows.
| Deliverable | Status | Notes |
|---|---|---|
| Revised SRS | ✅ Completed | Updated with new requirements |
| Communication Plan | ✅ Completed | Updated with new term plans |
| Git Development Policies | ✅ Completed | Written & apllied in practice |
| Weekly Reports & Meeting Notes | ✅ Completed | They're uploaded every week |
| Milestone Review | ✅ Completed | Available in this report |
| Individual Contributions | ✅ Completed | Available in this report |
| Pre Release version | ✅ Completed | GenFit Web & APK |
| Metric | Value | Notes |
|---|---|---|
| PRs merged in CM2 | 84 | Filtered by label milestone-2 and merge date 01/10/2025 – 28/11/2025 |
| Issues closed in CM2 | 112 | Implementation, documentation, research, bug fixes |
| CI pipeline success rate | 98.7% | Last 150 GitHub Actions runs |
| Backend integration tests | 378 passing | Django APITestCase suites (auth, mentor, goal, challenge, forum) |
| Mobile unit tests | 312 passing | 12 Jest + React Native Testing Library suites |
| Web frontend test coverage | 91.4% | Vitest + istanbul coverage report (28 Nov 2025) |
| Mobile forum test coverage | 87.87% | Forum Page + components (PR #520) |
| Pre-release versions | Web v0.2.0 Mobile APK 2025-11-24 |
Distributed internally for multi-platform UX validation |
These figures confirm that the codebase has entered a stabilization phase with high test coverage and reliable CI, while still delivering significant new domain functionality.
| Deliverable Group | Status | Outcome / Evidence | Follow-up Needed |
|---|---|---|---|
| Mentor–Mentee Core (Web + Mobile) | Completed | PRs #586, #572, #569, #604 | Minor UX polish on goal-unit display |
| Mobile Forum Stability & MD3 Modernization | Completed | PRs #565, #591, #446 | Add accessibility audit checklist |
| Reporting & Contact (Web) | Completed | PRs #552, #477; Issues #511, #476 | Mobile parity (planned CM3) |
| Notifications Improvements | Completed | PRs #592 (mobile), #431, #516 (web tests) | Unified cross-platform settings page |
| Challenges & Leaderboards (Web) | Completed | PR #351 (challenge page & backend) | Add leaderboard reward E2E test |
| Search Functionality | Partial | Web search complete (PR #589); Mobile search (PR #587) | Extend to content-level + performance optimization |
| Glossary (Static Domain Pages) | Completed | PR #575 (mobile), PR #601 (web) | Dynamic editing + inline term linking |
| Goal AI Suggestions & Safety Warnings | Completed | PR #584, #602 (mobile); PR #457, #534 (web) | Unit standardization |
| Goal Units Standardization | In Progress | Free-text accepted; schema designed | Preset unit enum + migration (top priority CM3) |
| Mobile Reporting & Contact | Not Started | — | MVP form in CM3 Week 1 |
| Dynamic Glossary Editing & Inline Preview | Not Started | Issue #383 backlog | Coach/admin CRUD + tap/click preview |
| E2E Test Suite (Golden Paths) | Planned | Test pyramid foundation complete | Playwright smoke suite (login → goal → mentor → forum) |
Customer feedback focused on refinement and polish rather than new scope. The following items were consciously moved out of CM2 and scheduled for the first sprint of CM3:
- Dynamic glossary editing & inline term linking
- Goal unit standardization + migration
- Chat user search + “Start Chat” from profile
- Mobile reporting/contact parity
- Nutrition reference page (explicitly deferred – out of core domain)
No impact on final delivery date. The project remains on track.
| Risk | Category | Impact | Likelihood | Mitigation | Owner | Target Date |
|---|---|---|---|---|---|---|
| Glossary remains static/shallow | Domain Value | Reduced perceived expertise | Medium | Coach/admin CRUD + rich schema (consequence, examples) | Ali A. | 2025-12-06 |
| Inconsistent goal units | Data Quality | Analytics distortion | Medium | Canonical unit enum + migration script (custom fallback) | Alperen | 2025-12-04 |
| Missing chat user search | UX / Engagement | High onboarding friction | High | Debounced search + “Start Chat” CTA on profiles | Doran/Volkan | 2025-12-06 |
| No E2E tests → silent regressions | Quality | Late bug discovery | Medium | Playwright golden-path suite + nightly run | Yusuf | 2025-12-10 |
| HTTPS/CSRF edge cases on mobile | Security | Intermittent auth failures | Low | Enhanced logging + token refresh fallback | Abdullah U. | Ongoing |
Strengths observed in CM2:
- Strict PR template + milestone labels drastically reduced review cycles.
- Layered testing (unit → integration → manual exploratory) caught permission and navigation regressions early (e.g., Forum fix PR #566).
- Material Design 3 adoption unified mobile aesthetics and improved accessibility baseline.
- Early pre-release builds (Web v0.2.0 + APK) allowed real-device validation before freeze.
Areas targeted for immediate improvement (CM3):
- Automated accessibility scanning (axe-core + React Native audits) in CI.
- Enforced feature-parity checklist for every cross-platform PR.
- Performance baselines (API p95 latency < 400 ms, critical screen FCP < 2 s).
- Formal data validation layer for goals/challenges.
With core social and domain mechanics now stable, the final milestone can fully focus on:
- Depth – Rich glossary, AI tone customization, consequence explanations
- Consistency – Unit standardization, unified search & navigation patterns
- Reliability – Comprehensive E2E suite, accessibility regression testing
- Polish – Expanded “Selçuk’s Journey” demo with inline glossary and mentor dashboards
| Action | Definition of Done | Sprint Target |
|---|---|---|
| Glossary coach/admin editing | CRUD interface + rich fields (definition, risks, examples) | Week 1 |
| Inline glossary linking | Tappable terms → preview tooltip; fallback search | Week 1–2 |
| Goal unit presets & migration | Dropdown + validation + analytics mapping | Week 1 |
| Chat user search + Start Chat | <400 ms debounced results, accessible CTA | Week 1 |
| Mobile reporting MVP | Form submit mirroring web payload | Week 2 |
| E2E golden-path suite | 6 critical user journeys automated in Playwright | Week 2 |
| Accessibility audit (critical=0) | axe + manual keyboard/navigation pass | Week 2 |
- Mentor–Mentee: PRs #572, #586, #604
- Forum Stability & Permissions: PRs #565, #566, #591
- Challenges: PR #351
- AI Goal Suggestions: PR #534 (web), PR #584/#602 (mobile)
- Search: PR #589 (web), PR #587 (mobile)
- Static Glossary Pages: PR #575 (mobile), PR #601 (web)
- HTTPS/CSRF Fixes: PR #564
Milestone 2 successfully delivered a stable, testable, multi-platform foundation for all core domain entities (mentor relationships, goals, challenges, forum, reporting, notifications). Quantitative metrics and risk mitigation planning demonstrate that remaining work is well-scoped, owned, and scheduled. The project is in excellent position to deliver a high-quality, domain-rich final product on time.
The team successfully utilized GitHub as the central hub for project management, code quality, and collaboration, establishing a structured workflow that links planning directly to implementation.
The project employs a highly structured issue tracking system. Issues are not merely placeholders but serve as detailed specifications. For example, Issue #612 ("Mobile: Replace Alert.alert with Toast Notifications") includes explicit sections for Tasks, Acceptance Criteria, Estimated Time, and Reviewer Assignment. The use of labels such as need review, priority: urgent, and type: implementation allows for effective filtering and status tracking.
Pull Requests (PRs) adhere to a rigorous template that ensures quality before merging. PRs like #617 and #613 provide comprehensive context, including "Changes Made," "Features," "Testing" procedures, and a "Checklist" for self-review. The history shows active reviewer assignment, ensuring that code is vetted by peers, although some hotfixes (e.g., #614, #557) appear to be merged quickly to address urgent issues.
The repository follows a clear naming convention for branches that categorizes work by type, such as fix/ (e.g., fix/erronous-response-status), hotfix (e.g., hotfix_like), and descriptive feature branches (e.g., unit_test_contact). This strategy helps in isolating changes and maintaining a clean history on the main branch.
Continuous Integration and Deployment have been actively enhanced to support quality assurance. The presence of workflows like .github/workflows/pr-check.yml and .github/workflows/deploy.yml indicates automated checks are in place. Notably, commit 7e1b41d ("feat/add-frontend-test-and-configure-pipeline") marks a significant effort to integrate frontend testing directly into the pipeline, ensuring that new changes do not break existing functionality.
While external tools (e.g., Whatsapp) are used, the team effectively utilizes GitHub itself as a communication record. The detailed "Description" and "Technical Details" sections in PRs (e.g., #599 regarding chat features) serve as asynchronous documentation, allowing team members to understand complex implementations without needing real-time meetings.
(List requirements delivered in CM2.)
- Mentor functionality implemented: 1.1.1.3. - 1.1.1.4.1. - 1.1.1.4.2. - 1.1.1.4.3. - 1.1.4.6. - 1.2.5.5.
- Navigation to profiles implementation completed: 1.1.3.10.
- Forum implemented on mobile: Entire 1.1.3. section
- Reporting implemented on Web: 1.1.3.6. - Entire 1.1.6. section
- Search function partially implemented: Entire 1.2.3. section
1.1.1. Account and Profile Requirements Status
Requirement code Status 1.1.1.1. ✅ Completed 1.1.1.2. ✅ Completed 1.1.1.3. ✅ Completed 1.1.1.4.1. ✅ Completed 1.1.1.4.2. ✅ Completed 1.1.1.4.3. ✅ Completed 1.1.1.5. ✅ Completed 1.1.1.5.1. ✅ Completed 1.1.1.6. ✅ Half-Completed, profile pictures doesn't have an alternative text. 1.1.1.7. ✅ Completed 1.1.1.8. ✅ Completed for web, ⚠️ Missing for mobile1.1.1.9. ⚠️ Missing Feature1.2.1.1. ✅ Completed, lacks actual verification
1.1.2. Login and Registration Requirements Status
Requirement code Status 1.1.2.1. ✅ Completed 1.1.2.2. ✅ Completed 1.1.2.3. ✅ Completed 1.1.2.4. ⚠️ Email confirmation functionality not implemented1.1.2.5. ✅ Completed 1.1.2.6. ⚠️ Email confirmation functionality not implemented
1.1.3. Forum Requirements Status
Requirement code Status 1.1.3.1. ✅ Completed 1.1.3.2. ✅ Completed 1.1.3.3. ⚠️ Missing Feature1.1.3.4. ✅ Completed 1.1.3.5. ✅ Completed 1.1.3.6. ⚠️ Implemented in web but not implemented in mobile1.1.3.7. ⚠️ Missing Feature1.1.3.8. ⚠️ Missing Feature1.1.3.9. ✅ Completed for web, ⚠️ Missing for mobile1.1.3.10. ✅ Completed
1.1.4. Goals & Rewards Requirements Status
Requirement code Status 1.1.4.1. ✅ Completed 1.1.4.2. ✅ Completed, for all sub-requirements 1.1.4.3. ✅ Completed 1.1.4.4. ✅ Half-Completed, restarting isn't available 1.1.4.5. ✅ Completed 1.1.4.6. ✅ Completed
1.1.5. Notifications Requirements Status
Requirement code Status 1.1.5.1. ⚠️ Missing feature1.1.5.2. ✅ Completed
1.1.6. Support and Contact Requirements Status
This part is implemented in web but not in mobile.
Requirement code Status 1.1.6.1. ✅ Completed 1.1.6.2. ✅ Completed
1.2.2. Goals & Rewards Requirements Status
Requirement code Status 1.2.2.1. ✅ Completed 1.2.2.2. ✅ Completed
1.2.3. Search & Interactive Directory Requirements Status
Requirement code Status 1.2.3.1. ✅ Half-Implemented, only works for users on mobile, works for users, challanges, & goals on website 1.2.3.2. ✅ Completed 1.2.3.3. ⚠️ Missing feature, for all subsections1.2.3.4. ⚠️ Missing feature
1.2.4. Challenges and Leaderboards Requirements Status
Requirement code Status 1.2.4.1. ✅ Completed 1.2.4.2. ✅ Completed 1.2.4.3. ✅ Completed 1.2.4.4. ✅ Completed 1.2.4.5. ✅ Completed for web, ⚠️ Missing for mobile1.2.4.6. ✅ Completed 1.2.4.7. ⚠️ Missing feature1.2.4.8. ✅ Completed 1.2.4.9. ✅ Completed
1.2.5. Notifications Requirements Status
Requirement code Status 1.2.5.1. ✅ Completed 1.2.5.2. ⚠️ Missing feature1.2.5.3. ✅ Completed 1.2.5.4. ✅ Completed 1.2.5.5. ✅ Completed 1.2.5.6. ⚠️ Missing feature, sending e-mails is not an option without 3rd party providers1.2.5.7. ⚠️ Missing feature
Since Milestone 1, we have refined our development and planning processes to address previous shortcomings and improve overall efficiency:
- Balanced Feature Focus: We shifted from a social-dominant approach to a balanced mix of social and domain-specific fitness features (e.g., Mentor-Mentee system, AI-generated goals) to better align with the core value proposition.
- Iterative Integration: We adopted a more iterative workflow with earlier integration testing. This helps us catch stability issues sooner, rather than waiting for a final "merge week."
- Scenario-Based Demos: We transitioned from feature-list demos to scenario-based demos (e.g., "Selcuk's Journey"). This ensures that development is driven by cohesive user stories rather than isolated tasks.
- Script-Driven Data: We implemented a Django shell script strategy for generating mock data. This ensures our demo environment is reproducible, consistent, and rich with realistic context, addressing the "empty app" feel of previous iterations.
To further improve team velocity and quality for the final push, we plan to:
- Automated Frontend Testing: We aim to increase frontend test coverage (targeting 40% for core functionality) and integrate these tests into our CI/CD pipeline to prevent regression.
- Stricter Code Review Cycles: We will enforce a more rigorous checklist for PRs, specifically checking for mobile/web feature parity and UI consistency.
Our plan to reach the final delivery involves prioritizing the remaining features and ensuring stability:
-
Critical Remaining Features:
- Web: Finalize the Mentor interface integration.
- Mobile: Complete the Reporting System and Contact Page.
- Refinement: Polishing the Profile, Forum, and Home Page navigations on mobile.
- (Note: Search and Mentor functionalities have been implemented and are currently in the testing/refinement phase.)
-
Timeline Strategy:
- We will continue our weekly sprint cadence, focusing first on feature parity between Web and Mobile.
- The final weeks will be dedicated to End-to-End (E2E) testing and UI/UX polishing to ensure a seamless "Smart Environment" experience.
- GitHub Project Board: Link to GitHub Project Board
- Detailed Plan & Screenshots: Project Plan Wiki Page
This section documents the W3C and related standards we applied during Customer Milestone 2, with links to implementing artifacts (issues and PRs) and explanations of how each standard was satisfied in practice.
Standard Used: WCAG 2.1 / WCAG 2.2 (AA)
Link to Implementing Artifacts:
- Ensure the project follows accessibility standarts (WCAG 2.1)
- Mobile Implementation of Forum Page (WCAG tasks: contrast, ARIA, keyboard)
- Research strategies to enhance inclusivity of the mobile application
- Check which W3C Standarts are applicable to Mobile Homepage
- Front end challenge page (notes WCAG 2.1 AA compliance)
- Make author names clickable in forum and thread views (contrast verification, accessible interactions)
Explanation:
- We implemented accessible navigation and interaction patterns across pages, ensuring color contrast meets AA targets, meaningful focus order, and keyboard/touch navigability. Screen-reader-friendly labels and roles were added where applicable (especially on forum and challenge interactions). Findings from inclusivity research guided the adoption of accessible tap targets, readable typography, and clear feedback states.
Standard Used: ARIA 1.2 (Accessible Rich Internet Applications)
Link to Implementing Artifacts:
- Mobile Implementation of Forum Page (ARIA roles, keyboard navigation)
- fix the unresponsive "create first goal" button on the web goals page (added DialogDescription for accessible dialogs)
Explanation:
- Interactive components (dialogs, links, buttons) use appropriate ARIA roles and accessible names, improving screen reader comprehension. Dialogs and modals include descriptions and structured focus management to ensure assistive technologies can clearly communicate the context and available actions.
Standard Used: W3C Mobile Web Best Practices
Link to Implementing Artifacts:
- Check which W3C Standarts are applicable to Mobile Homepage
- Refactor Mobile Home Screen (responsive layouts, accessible touch targets, performance-conscious lists)
- Added Profile page to the mobile app (Material Design 3, responsive components)
Explanation:
- Mobile views follow best practices for responsive design, touch target sizes, readable content scaling, and reduced layout shift. We adopted React Native Paper (Material Design 3) components to standardize interactive behavior and ensure consistent accessibility across device sizes and themes.
Standard Used: HTTPS and Web Security Best Practices (aligned with W3C Web Security considerations)
Link to Implementing Artifacts:
- Add https to the website
- Update the profile page code for mobile to new backend new ip & unit tests (HTTPS migration, CSRF Referer header)
- Mobile mentor goal fix (secure mutations, CSRF handling)
Explanation:
- We migrated services and clients to HTTPS, enforced secure transport, eliminated mixed content, and added CSRF protections (X-CSRFToken and Referer headers) on state-changing requests. This reduces risk of session hijacking and request forgery, aligning our implementation with modern web security guidance.
Standard Used: GDPR Readiness (Privacy by Design principles)
Link to Implementing Artifacts:
Explanation:
- While full GDPR verification is planned (issue open), current changes support privacy-by-design: explicit consent flows, secure transport (HTTPS), restricted data exposure in error logs, and documented mechanisms for authenticated profile data access/update/delete. Additional work will formalize consent logging, data subject rights workflows, and policy documentation.
Standard Used: Material Design 3 Accessibility Guidance (component-level accessibility)
Link to Implementing Artifacts:
- Make author names clickable in forum and thread views (Material Design 3 components, contrast checks)
- Added Profile page to the mobile app (MD3 theme and components)
- Mobile Settings and Avatar Fixes (theme consistency, accessible actions)
Explanation:
- We adopted Material Design 3 via React Native Paper, which promotes accessible defaults for typography, color contrast, component roles, and interaction feedback. This ensured consistent semantics, predictable focus/press behavior, and clear visual hierarchies across mobile screens.
Standard Used: Accessible Notifications and Dialogs (WAI-ARIA Authoring Practices)
Link to Implementing Artifacts:
- fix the unresponsive "create first goal" button on the web goals page (DialogDescription added; accessible dialog messaging)
- Write unit tests for notifications page (ensures reliable accessible state and interactions)
Explanation:
- We aligned dialog and notification components with accessible authoring patterns, adding descriptive content and ensuring predictable focus and keyboard activation. Unit tests validate rendering and interaction states to avoid regressions affecting accessibility.
Standard Used: Secure Form Handling and CSRF Protection (Django CSRF model; aligns with W3C security recommendations)
Link to Implementing Artifacts:
- Update the profile page code for mobile to new backend new ip & unit tests (CSRF: X-CSRFToken + Referer headers)
- Mobile mentor goal fix (CSRF in goal mutations)
Explanation:
- All state-changing requests include CSRF tokens and Referer headers to satisfy server-side validation. Payload filtering prevents sending empty values that may trigger validation errors, improving robustness and reducing inadvertent data exposure.
This section illustrates how the mobile frontend of our smart personal environment platform thoughtfully embodies the core principles of accessibility, inclusivity, and ethical design — not as checkboxes, but as foundational user experiences.
Selçuk is an 18-year-old who has just started studying at Boğaziçi University. He moved into a student apartment owned by Güney Koray, a kind middle-aged landlord. Selçuk dreams of starting fitness training during university and asks Koray for advice. Koray asks whether he registered for GenFit, the fitness community–guide application he mentioned the previous day. Selçuk remembers that he created an account earlier, opens the app, and begins exploring it.
When he enters the app, he sees the AI’s daily fitness motivation message. Excited, he checks the profile information he filled in before and immediately tries to create a goal: running 20 km after school. Before finalizing the goal, he notices the AI Suggestions box and taps it. The AI finds the goal unrealistic and warns him to choose a lower, more achievable goal. Although the advice makes sense, Selçuk finds the AI’s tone cold.
Selçuk then navigates to the Forum page, where he sees system-created inclusive entries. The Senior Citizens entry catches his attention and he humorously thinks, “Koray abi must be a member of this commune.” He also notices the Beginner Athletes entry created by jessicacoach85, and infers that coaches can also create entries. As he reads through the posts, Selçuk wants more human support and asks Koray via direct message on Chat Page, how to get interaction with more people.
Koray tells Selçuk about mentor-mentee relationship jessicacoach85, who helps him with age-appropriate exercises. He says that if Selçuk sends her a mentee request, she will likely help him as well. Selçuk searches her profile using the search bar and sends the request.
From Jessica’s perspective, she accepts the request. After talking with Selçuk and seeing his enthusiasm for running, she sends him a monthly challenge called Freshmen Getting Fresh Air, a community event with progress entries and a leaderboard. She also assigns him a weekly running goal of 1 km per day, 7 km per week.
Motivated by the challenge and goal, Selçuk runs 4 km in one day. Jessica, as his mentor, can see this progress and tells him that completing the entire goal is not as important as consistent exercise. She also explains the importance of periodization.
Back in Selçuk’s perspective, he realizes he does not know what periodization means. He goes to the Glossary, searches the term, and learns about it. Still not fully satisfied, he asks the AI Coach in the chat. The AI gives a useful answer, but its cold tone pushes him away. Selçuk goes to the settings and disables the AI.
- Selçuk can navigate the app easily: onboarding, goal creation, forum browsing, chat, search, and glossary. The scenario implies straightforward navigation.
- Features like visible AI suggestions, discoverable forum entries, and a functional search bar contribute to accessible interaction.
- The Glossary provides accessible in-app learning support.
- The scenario includes diverse users: a beginner (Selçuk), an older landlord (Koray), and a coach (Jessica). The app supports all of them without bias.
- Forum entries include communities such as Senior Citizens and Beginner Athletes, showing inclusive group design.
- The mentor–mentee structure allows users with different ages, fitness levels, and backgrounds to participate.
- The AI suggestions can see and react according the profile information without any bias
- The AI prevents unsafe or unrealistic goals by warning Selçuk about the 20 km run. This shows responsible safety-oriented design.
- In terms of conditions App guaranteed that the users' information never be sold to 3rd party companies.
- Mentor–mentee interaction requires consent: Selçuk sends a request, Jessica chooses to accept.
- Jessica assigns achievable goals and provides health-aligned advice, avoiding harmful pressure.
- Selçuk always maintains control: he chooses to ask the AI, he chooses to disable it, and he chooses to rely more on human guidance.
- The scenario shows no misuse of data or coercive behavior, aligning with ethical design principles.
This section outlines the comprehensive testing strategy for the GenFit application, detailing the current implementation status and the roadmap for the final milestone. The approach follows a testing pyramid structure—strong emphasis on backend integration and frontend component tests, with planned expansion into automated End-to-End (E2E) workflows.
Current Status: Implemented (High Coverage)
Integration tests using Django’s APITestCase validate the entire request–response lifecycle—from URL routing to database operations—ensuring that the REST API behaves according to contract.
We focus on interactions where permission handling and data consistency are most fragile. Files like test_challenge_creation.py and test_forum_api.py cover multi-step logic such as geocoding or recalculating thread counts, which unit tests cannot capture reliably.
- Role-based access control via
test_auth.pyandtest_forum_permissions.py. - Protection against invalid credentials, missing CSRF tokens, and malformed JSON data.
- Ensuring Coaches and regular users have distinct privileges.
External services (e.g., geocoding) are mocked while keeping the real database active. This ensures that endpoints respond with correct status codes (201 Created, 403 Forbidden) and match the data structures expected by the frontend.
Current Status: Implemented (Moderate Coverage)
Frontend testing uses Vitest and React Testing Library to validate component behavior, rendering, and interaction. Files such as ContactPage.test.tsx, ProfilePage.test.tsx and NotificationPage.test.tsx focus on what the user actually sees and interacts with.
Complex pages with interactive logic were prioritized.
- Contact page: form handling, API states, input validation.
- Notification page: filtering logic and tab interactions.
- Profile page: input validation and filtering logic.
- The "Send Message" button is disabled during in-flight requests.
- Error states (e.g.,
500Server Errors) display friendly UI messages instead of crashing. - Accurate tab behavior and immediate UI responsiveness.
Simulated user actions (typing, clicking, tab switching) ensure the UI reacts instantly and handles asynchronous API calls gracefully.
Current Status: Implemented (Targeted Coverage)
Unit tests isolate specific logic—permissions, algorithms, and small utilities—without requiring HTTP traffic or database interactions.
Files like test_forum_permissions.py isolate permission logic (e.g., IsAuthorOrReadOnly) so it can be validated quickly without server overhead.
- Correct incrementing of sub-comment counts in
test_comment_api.py. - Safe handling of edge cases in geocoding utilities (empty strings, malformed inputs).
These unit tests provide a stable safety net ensuring fundamental business rules (e.g., “users can only edit their own comments”) remain consistent across all contexts.
Current Status: Planned for Final Milestone
Currently, cross-stack workflows are tested via backend integration tests plus manual testing. Automated E2E coverage is scheduled for the final stage of development.
Introduce automated E2E tests using Playwright or Cypress, covering the most critical user journeys (“Golden Path”).
Only full-stack tests can confirm seamless data flow between browser, frontend, backend, and database. Mocked tests cannot guarantee system-wide correctness.
This final testing layer ensures backend regressions cannot silently break frontend functionality, providing confidence that the entire system behaves correctly in real browser conditions.
Responsibilities:
Backend development, mentor-mentee feature implementation and demo preparation.
Main Contributions:
- Developed the backend and frontend functionality for the mentor-mentee mechanism.
- Implemented unit tests for mentor-mentee relationships and associated goals.
- Assisted in preparing Milestone 2 demo and report materials.
- Participated in team meetings, planning discussions, and Acceptance Test Plan creation.
Significant Issues:
-
Code-related (Top 3):
- Mentor-Mentee Backend Issue – Implemented backend logic for mentor-mentee relationships.
- Mentor-Mentee Frontend Issue – Implemented frontend UI and integration for mentor-mentee system.
- Unit Testing Commit db0eafd – Added unit tests for mentor-mentee features and goals.
-
Non-code-related (Top 3):
- Meeting 6 – Participated in discussions to refine backend design.
- Lab 5 Acceptance Test Plan – Wrote acceptence test plan part of the report
- Lab 7 Milestone 2 Demo Preparation - Relevant issue about report preparation – Contributed to demo story and report preparation.
Pull Requests:
- Mentor Backend PR – Implemented backend functionality.
- Mentor Web Frontend PR – Integrated frontend for mentor-mentee feature.
- Reviewed PRs: 566, 568.
Conflicts & Resolutions:
No major conflicts occurred. Minor merge adjustments were handled during PR reviews to ensure backend and frontend consistency.
Additional Information:
- Relearned backend debugging techniques and improved understanding of project backend structure.
- Supported team planning and feature discussion sessions, particularly regarding mentor-mentee feature.
- I did not open issues for my non-code related jobs since majority of them required very small amount of time or already exist in lab contributions
Responsibilities: Responsible for implementing and reviewing key web frontend features, preparing and maintaining unit tests, supporting milestone demos, and acting as technical support for the team. Also involved in creating and managing GitHub issues, pull requests, and reviewing team contributions.
Main contributions: Between Customer Milestone 1 and Customer Milestone 2, I focused on addressing feedback from Milestone 1, improving frontend functionality, and setting up the unit test environment. I worked on integrating AI-powered goal recommendations, enhancing the goal creation UI, and linking challenges within the chat. I also supported milestone demos with mock data, tested frontend features, and reviewed and merged pull requests to maintain code quality.
Significant issues:
Code-related:
-
#457 – Added AI recommendor box to the goal page.
-
#533 – Unit tests for ai goal recommendor.
-
#485 – Updated Chat with Goal/Challenge links for web implementation.
Non-code-related:
-
#450 – Reviewed communication plan to align team practices with project needs.
-
#451 – Created Git Development Policies page.
-
#540 – Defined roles and demo cases for Milestone 2.
Pull requests:
-
Reviewed and merged #526 – Initial Vitest configuration.
-
Worked on PR #523 – Backend test cleanup.
-
Worked on PR #534 – Add goal AI suggestion box.
-
Worked on and merged #524 – Feature/forum thread edit/delete.
-
Worked on PR #570 – Challenge linking.
Rebased the PR and resolved conflicts in the forum thread edit/delete migrations. Fixed related lint issues.
Additional information:
-
Prepared mock data for frontend demos.
-
Tested frontend functionality to ensure smooth Milestone 1 demo presentation.
-
Acted as technical support during MVP preparation.
-
Communicated directly with the instructor to clarify requests for domain-specific static pages, ensuring the team understood implementation priorities.
Responsibilities: I contributed primarily to the mobile frontend development, with a focus on ensuring every feature implemented is reviewed multiple times to facilitate a no-hole-left-behind development process. I personally worked on the challenge page, specifically transforming the page I made in Milestone 1 to HTTPS-compatible, while reviewing the features implemented on almost all pages.
Main Contributions:
- Made the challenge page https-compatible, worked on additional bugfixes.
- Reviewed significant issues and PRs of a lot of pages.
Significant Issues:
- Code-related (Top 3):
- Non-code-related (Top 3):
Pull Requests:
Reviewed Pull Requests:
Conflicts & Resolutions: No major conflicts happened.
- Converted MVP to run under a secure, production-presentable domain
- Executed infrastructure changes that required operational commits rather than feature PRs:
- DNS propagation & domain binding
- SSL certificate issuance and renewal
- Load balancer listener rules & health checks
- Ingress/origin stabilization for all API consumers
- Ensured HTTPS migration was correctly consumed by both Web and Mobile teams without mixed-content or origin violation errors
- Refined the Activity Dashboard experience:
- Login streak visualization under time-zone safe parsing
- Date computation robustness for deadlines, streaks, and calendar-dependent logic
- Enforced Terms & Conditions acceptance at registration for legal compliance
- Delivered Glossary / static educational pages to support milestone feature validation
- Introduced mentor-assigned goal visual indicators to clearly differentiate mentor-driven goals from self-created goals, removing ambiguity in demo narratives
- Verified and stabilized all time- and cluster-dependent flows used in the milestone
- Reported real test-coverage status and gaps by opening and closing scoped issues
- Cleaned and prepared test scaffolding to ensure CI/CD pipelines had a stable base
- Confirmed Jest/Vitest paths were environment-aligned for future PR reliability
- Prevented environment blockers from stalling product validation
- Accelerated infrastructure iteration that would otherwise block frontend and mobile API consumption
- Reduced cross-team friction by establishing canonical request headers and CSRF-safe sequences early
- Delivered a final MVP that was:
- Secure (HTTPS + SSL)
- Stable across origin/CSRF rules
- Predictable for demonstration data
- Production-presentable for evaluation
- Web + Mobile compatible without mixed-content issues
- #581 — Prepared consolidated demo changes (glossary, terms, data fixes).
- #513 — Set up web frontend unit test environment; cleaned backend tests and integrated into CI.
- #454 — Implemented recommender box foundation for personalized user feedback (AI-driven recommendations).
- #537 — Defined mock/demo data strategy for consistent Milestone 2 presentation.
- #499 — Reported current unit test coverage and improvement areas.
- #473 — Added intermediate planning meeting notes ensuring traceability.
- #585 — Frontend presentation data refinements: improved streak UI, glossary navigation, date handling robustness, T&C enforcement.
- #568 — Fixed mentor relationship creation race-condition; added mentor goal badges with transactional integrity.
- #556 - Renewed the Nutrionix External API integration with an alternative
- #557, #568, #615 - Addressed many minor bugs and issues.
- Provisioned and validated SSL certificate & HTTPS enforcement for API, fetch, and WebSocket calls.
- Configured load balancer routing, health checks, and domain DNS propagation for
genfit.website. - Coordinated production-only CSRF referer failures by aligning
Referer + Credentials + Tokenstrategy across modules. - Ensured canonical API origin convergence for web and mobile clients after secure domain switch.
- Applied main-branch environment-critical operational commits during rapid iteration.
- 41b2f9b6a26ba646614e12004b8c3584b60349f2 — HTTPS configuration and ingress changes.
- 2dbe189c18ee72eca6944b5f2181569ed145f101 — Deployment migration file cleanup fix.
- 87ae131ee704d0c82c3d498816c19005ce36b884 — Reverse proxy routing and server origin alignment.
- Curated deterministic demo data for milestone walkthroughs (streaks, goals, glossary).
- Improved UX visual clarity: mentor badges, dashboard consistency, legal enforcement of T&C acceptance.
- Assessed and documented unit test environment readiness and coverage gaps.
- Reduced cross-team friction by defining CSRF-safe request sequence & headers for upcoming PRs.
- Ensured milestone feature completeness + production-presentability + stability for both web and mobile.
By owning infrastructure hardening (secure domain, SSL, load balancer), milestone data curation, CSRF/WebSocket stabilization, test environment unblocking, and dashboard/legal feature foundations, contributions accelerated issue turnaround for environment-level blockers and ensured secure, stable, and demo-friendly MVP delivery for all teams.
Closing note: Some operational tasks (certificate provisioning, domain mapping, real-time load balancer tweaks) do not appear as PRs due to their nature, but they underpin the successful integration and functioning of all listed feature and bug-fix pull requests under a secure, consistent deployment environment.
Responsibilities:
Mobile frontend development (React Native/TypeScript), end-to-end implementation of the mentor-mentee system on mobile (request flows, relationship management UI, goal integration), goal creation/editing flows, forum & thread stability and UX improvements, establishing and expanding mobile unit test coverage, and contributing heavily to milestone reports, meeting notes, and project documentation.
Main Contributions:
- Delivered the complete mobile mentor-mentee experience: request sending/acceptance, mentor/mentee dashboards, relationship status indicators, and seamless navigation between profiles and goals.
- Implemented and hardened goal creation/editing within mentor-mentee relationships, fixing critical edge cases that previously blocked mentor-driven goal assignment.
- Eliminated persistent mobile forum bugs (thread loading failures, navigation loops, and rendering glitches), resulting in a stable and responsive forum experience.
- Built and merged comprehensive unit test suites for Home, Settings, and Mentor screens; significantly raised mobile test coverage while maintaining 100% pass rate.
- Authored major sections of Lab 7 and Customer Milestone 2 reports, including detailed progress summaries, screenshots, and UX analysis.
Significant Issues:
Code-related (Top 3):
- #498 – Mobile Mentor-Mentee System Implementation – Designed and shipped the full mentor-mentee UI and interaction flows on mobile, including request handling, relationship states, and profile integration (spanned multiple PRs).
- #582 – Fix Mentor Goal-Setting Edge Cases – Resolved blocking bugs in goal creation/editing when initiated by a mentor, ensuring full parity with regular user flows.
- #589 – Mobile Forum Hot-Fix & Stability Improvements – Fixed thread loading, infinite refresh loops, and navigation errors; delivered a robust and consistent forum experience across devices.
Non-code-related (Top 3):
- #541 – Lab 7 Milestone Preparation Report – Single-handedly authored the complete lab progress report with screenshots, decisions, and action items.
- #621 – UX Design Review for Customer Milestone 2 – Drafting the full UX analysis section (currently in progress), covering mobile usability, accessibility, and design rationale.
- #494 & #480 – Lab 5 MVP Planning & Documentation – Wrote detailed mobile implementation summaries, future roadmap items, and contributed to overall planning wiki pages.
Pull Requests:
Created & Merged (recent):
- #591 – Mobile forum stability & navigation fixes (merged 2025-11-25)
- #586 – Mentor goal-setting edge-case resolution (merged 2025-11-24)
- #572 – Core mentor-mentee flows and UI implementation (merged 2025-11-24)
- #571 – Final mentor UI polish, state handling, and integration (merged 2025-11-23)
- #569 – Mentor-mentee relationship completion and edge-case handling (merged 2025-11-23)
- #551 – Mobile mentor adjustments after backend schema updates (merged 2025-11-19)
- #510 – Comprehensive unit tests for Settings & Home screens (merged 2025-11-18)
- #446 – Initial mobile forum implementation with full navigation & UI (merged 2025-11-02)
Reviewed / Significantly Contributed:
Actively reviewed and provided detailed early feedback on teammate PRs involving mobile-backend integration and mentor-related endpoints.
Conflicts & Resolutions:
No major conflicts this milestone. Minor merge conflicts in navigation and state-management files were quickly resolved by pulling the latest main, coordinating synchronously with the other mobile developer, and rebasing affected branches. Iterative feedback (“needs rework”) on unit test PRs is being addressed in open PR #520.
Additional Information:
- Primary documentation owner and note-taker for multiple labs and milestones.
- Ensured mobile features were demo-ready for Customer Milestone 2 through thorough testing and report contributions.
- Increased mobile test coverage to over 40 passing unit tests across core flows (mentor-mentee, home, settings); forum test suite in final stages (PR #520).
- Consistently attended and actively contributed to every team meeting, mobile-backend sync sessions, and planning discussions.
Responsibilities: I contributed primarily to the mobile frontend development, with a focus on modernizing the entire mobile application UI to comply with Material Design 3 principles, implementing comprehensive navigation flows, and ensuring seamless user experience across all mobile screens. My responsibilities included redesigning key UI components, implementing clickable profile navigation throughout the app, migrating to HTTPS infrastructure, establishing unit testing practices, and ensuring visual consistency across the mobile platform.
Main Contributions:
- Led the complete mobile UI modernization initiative, implementing Material Design 3 principles across all mobile screens including TopBar, BottomBar, Home page, Profile page, and Forum components.
- Implemented comprehensive clickable profile navigation across all major app sections (Home, Forum, Chat, Challenge pages), enabling seamless user profile discovery.
- Redesigned the Home page with modern thread cards, collapsible Exercise Library, sort filter functionality, and improved layout using React Native Paper components.
- Modernized the Forum and Thread UI with Material Design 3 compliant components, fixing vote persistence issues, implementing optimistic UI updates, and enhancing comment sections.
- Migrated the Profile page to HTTPS backend infrastructure with enhanced CSRF protection and comprehensive error handling.
- Established unit testing infrastructure for React Native mobile app using Jest, creating comprehensive test coverage documentation.
- Implemented Coach/User badge system on profile pages with proper backend integration and Material Design 3 styling.
- Replaced all Alert. alert notifications with react-native-toast-message for consistent Material Design 3 notification experience.
Significant Issues:
-
Code-related:
- Modernize the mobile frontend UI to comply with Material Design 3 principles – Led the comprehensive mobile UI modernization effort, implementing Material Design 3 across all components including vote persistence fixes, comment section redesign, proper Paper components integration, and custom toast notifications.
- Mobile: Home Page Complete Redesign – Completely rebuilt the Home page using React Native Paper with elevated thread cards, Avatar components, Chip labels, sort filter dropdown, and comments preview section with modern Material 3 design.
- Make profiles clickable on Forum Page (threads) – Implemented clickable navigation for all forum author names (thread creators and comment authors) throughout forum pages, extending far beyond the original scope to include comprehensive Material Design 3 forum redesign.
-
Non-code-related:
- Document personal contributions to Lab 5 report – Documented comprehensive contributions summary, action items, and follow-ups for mobile-related tasks in Lab 5 meeting notes.
- Lab 7 Meeting Notes – Authored complete meeting notes for Lab 7, documenting milestone planning discussions and MVP delivery coordination.
- Milestone 2 Demo Planning & Report – Contributed to milestone planning discussions and documented personal contributions to the Customer Milestone 2 report.
Pull Requests:
- Mobile App UI Modernization with Material 3 Design System – Comprehensive mobile UI modernization including TopBar, BottomBar, Home page redesign, collapsible Exercise Library, Profile page hero section, Mentorship section, and toast notifications.
- Profile Page UI (Re)Modernization & Coach Badge Feature – Implemented coach badge detection, modernized mentorship section, and enhanced relationship action buttons with Material Design 3.
- Modernize Forum UI with Material Design 3 – Complete forum redesign with clickable profiles, vote persistence fixes, elevated cards, redesigned comment sections, and custom toast notifications.
- Made thread authors' profile pictures and commenters' names clickable – Implemented clickable profile navigation on mobile home page with proper TouchableOpacity components.
- Updated Profile page for HTTPS backend migration – Migrated to HTTPS infrastructure with enhanced CSRF protection, comprehensive unit tests, and detailed testing documentation.
- Made chat header username clickable – Added direct navigation to user profiles from chat conversations.
- Made profiles clickable on Challenge page – Implemented clickable coach and participant usernames on Challenge pages with consistent styling.
Reviewed & Merged:
- Mobile forum fix by @Ayhan-coder
- Sending chats done by @volkanBora123
Conflicts & Resolutions: No major conflicts occurred during this milestone. Minor styling conflicts were resolved during the Material Design 3 integration, ensuring visual consistency across all mobile screens. All PRs were successfully reviewed and merged with proper coordination with team members.
Additional Information: I played a pivotal role in establishing mobile development best practices, including comprehensive unit testing setup with Jest and detailed testing documentation (TESTING_SETUP.md). Successfully delivered 7 major PRs addressing 16 individual issues, with all 65 unit tests passing across 4 test suites. Actively participated in all weekly meetings, milestone planning discussions, and provided technical guidance to mobile team members. The Material Design 3 modernization significantly improved the mobile app's visual consistency and user experience, contributing substantially to Milestone 2 deliverables.
I was primarily responsible for improving the reliability, testability, and maintainability of the web application. My tasks included implementing frontend and backend features, writing comprehensive unit tests, contributing to UI/UX improvements, coordinating reporting-related workflows, and ensuring API and page functionality remained consistent across milestones. I also maintained repository hygiene by deleting stale branches, revising outdated issues, and regularly participating in milestone planning.
For the Customer Milestone 2, my main contributions centered on:
- Developing both frontend and backend components for the Contact page and the reporting mechanism.
- Implementing multiple UI/UX improvements such as layout fixes and interactive forum elements (clickable usernames).
- Writing extensive unit tests for critical pages (profile, notifications, contact) to increase test coverage.
- Identifying, opening, and resolving issues related to broken UI elements, unresponsive components, and API integrations (e.g., NutritionX).
- Reviewing and improving pull requests from team members, ensuring consistency, code quality, and alignment with project architecture.
- Actively participating in milestone demos, lab sessions, and discussions that shaped the project’s roadmap.
-
#511 – Implement back end part of the reporting mechanism
Implemented the backend logic for the web Contact page, ensuring form submissions, API structure, and validation worked correctly. -
#504 – Implement front end part of reporting feature for web application
Added a new reporting feature to both chat and profile pages, completing the frontend flow and integrating it with backend logic. -
#476 - Initial implementation of Contact page for web Implemented the initial version of the web Contact page, creating the core layout and form structure to enable users to submit messages through the platform.
-
#528 – Revision of the SRS document
Contributed major updates to the Software Requirements Specification, improving clarity and aligning it with current implementation. -
#475 – Delete branches from the previous milestone
Cleaned up the repository by removing stale branches and checking the status of outdated issues and PRs. -
#486 – Add notes for Lab 5
Prepared documentation and notes used during lab discussions to improve group coordination.
- #618 – Unit tests for the contact page
- #619 – Unit tests for the notifications page
- #620 – Unit tests for the profile page
- #552 – Backend implementation for the contact page
- #521 – Modify
.info-actionslayout for improved alignment - #531 – Implement clickable usernames in forum
- #532 – Fix “create first goal” button
- #474 – Add preferred sports section to the profile page
- #477 – Initial implementation of the Contact page (frontend)
- #504 – Add new reporting functionality to chat and profile pages
- #557 – Add API prefix for contact URL
- #556 – Update Nutrition UI and use new API
- #507 – Implement new dashboard and daily AI suggestion (reviewed and merged)
No major conflict occurred. Most of other minor conflicts arose due to parallel development on UI components and API endpoints (e.g., Contact page, reporting mechanism). Conflicts were resolved by:
- Re-aligning updated API endpoints across frontend and backend,
- Communicating changes early during lab sessions,
- Rebasing feature branches to ensure compatibility with newly merged components.
- Participated actively in all weekly lab sessions, milestone demos, and roadmap discussions.
- Took meeting notes for lab sessions when needed, improving team coordination.
- Performed regular repository maintenance (closing outdated issues, reviewing stale PRs).
- Researched unit testing strategies and tools to improve the testing workflow for the team.
Responsibilities: I contributed primarily to the front-end development of the web application, with a focus on enhancing user interaction through search, challenge management, and forum features. My responsibilities included implementing new UI components, integrating them with the backend, and ensuring a seamless user experience. I also expanded my scope to include backend unit testing and played a key role in preparing milestone documentation and compliance reports.
Main Contributions:
- Implemented the Search Bar for the web platform, allowing users to easily find content.
- Enhanced the Challenge system by adding difficulty levels.
- Implemented thread deletion and editing capabilities in the Forum module.
- Developed the functionality for visiting other users' profiles.
- Contributed to backend quality assurance by writing unit tests for the Forum module.
- Authored sections of the Lab 5 MVP planning and Milestone 2 preparation report.
Significant Issues:
-
Code-related:
- Search Bar | Web Implementation – Designed and implemented the search functionality for the web application.
- Add thread deletion and editing – Implemented key forum management features for users.
- Visiting Other People's profiles functionality – Implemented the UI and logic for viewing other user profiles.
-
Non-code-related:
- Fill in the milestone 2 preparation report requirement compliance part for web – Reviewed and documented web requirements compliance for the milestone.
- Write the part 2 in Lab 5 MVP implementation and planning report – Authored sections of the MVP planning and implementation report.
- Milestone 2 Demo Planning – Participated in defining the demo scenario and presentation flow.
Pull Requests:
- Feature/web user search functionality – Added search capabilities for users on the web platform.
- Feature/forum thread edit delete – Implemented editing and deletion for forum threads.
- Adding difficulty to challenges – Implemented difficulty levels for challenges.
- feat: Add comprehensive Forum API tests and fix permission issues – Added backend unit tests for the Forum API.
Conflicts & Resolutions: No major conflicts occurred during this milestone. Minor merge conflicts were resolved during the integration of the forum and search features, ensuring code consistency across the frontend and backend.
Additional Information: I continued to be an active team member, participating in all weekly meetings and contributing to high-level planning. My work on the milestone reports helped clarify our progress and remaining tasks for the team. Also, I was presenting the coach Jessica in the demo presentation.
I was primarily responsible for the mobile front-end development of the GenFit application.
My tasks included implementing features related to goals, challenges, notifications, and chat; ensuring seamless integration with backend APIs; improving UX consistency; and maintaining stable mobile interactions.
Additionally, I contributed to multiple milestone documentation sections and supported the demo preparation by writing most of the scenario and acting in the demo.
- Implemented core mobile functionalities such as challenge sending, AI goal checking, goal safety warnings, notification handling, and chat link parsing.
- Strengthened the reliability of the mobile application by addressing critical issues related to goal creation, challenge flows, and notifications.
- Created domain-specific pages (Glossary, Information Page) for mobile to support MVP requirements.
- Authored the UX, Accessibility, Inclusivity, Ethical Design Review sections of the milestone report.
- Wrote most of the demo scenario and performed as the main presentation character (Selçuk).
-
Mobil Challenge Sent Chat
Issue: https://github.com/bounswe/bounswe2025group2/issues/598
Implemented challenge sending flow inside the chat, enabling users to share active challenges directly from conversations. -
Domain Specific Information Page (Mobile)
Issue: https://github.com/bounswe/bounswe2025group2/issues/545
Implemented the entire mobile page, integrated domain-specific content, and ensured consistent styling and navigation within the app. -
AI Suggestions on Goals Mobile
Issue: https://github.com/bounswe/bounswe2025group2/issues/502
Added AI-powered suggestion generation for goal creation, integrating backend endpoints and improving user personalization.
-
Coach Fatih, Student Selçuk Scenario Issue
Issue: https://github.com/bounswe/bounswe2025group2/issues/547
Wrote the scenario content for the Selçuk–Fatih narrative, which became the demo storyline. -
LAB5 MVP Report – Lessons Learned & Mitigation Section
Issue: https://github.com/bounswe/bounswe2025group2/issues/488
Authored the Lessons Learned & Mitigation section for the Lab 5 MVP milestone report. -
Milestone Report – UX, Accessibility, Inclusivity & Ethical Design Review
Authored these four major analysis sections for the customer milestone documentation.
-
#602 – AI Check for Goals Mobile
https://github.com/bounswe/bounswe2025group2/pull/602 -
#599 – Sending Chats Done
https://github.com/bounswe/bounswe2025group2/pull/599 -
#592 – FixedNotifications
https://github.com/bounswe/bounswe2025group2/pull/592 -
#584 – Warning Before Creating Goal
https://github.com/bounswe/bounswe2025group2/pull/584 -
#577 – Ifixed Goals
https://github.com/bounswe/bounswe2025group2/pull/577 -
#575 – Exercises Page Domain Specificc
https://github.com/bounswe/bounswe2025group2/pull/575 -
#444 – Moved Notification Icon to Top Bar
https://github.com/bounswe/bounswe2025group2/pull/444 -
#431 – Goals Notifications Added
https://github.com/bounswe/bounswe2025group2/pull/431
-
#603 – Make Profiles Clickable on Challenge Page
https://github.com/bounswe/bounswe2025group2/pull/603 -
#596 – Challenges Fixed (CSRF)
https://github.com/bounswe/bounswe2025group2/pull/596 -
#594 – Dockerize Mobile
https://github.com/bounswe/bounswe2025group2/pull/594 -
#587 – Mobile Search Implementation
https://github.com/bounswe/bounswe2025group2/pull/587
No major conflicts were encountered.
Minor merge conflicts (especially in notifications and goal-related files) were resolved by aligning API paths, updating fetch logic, and maintaining consistent UI behavior across mobile pages.
- Wrote most of the demo scenario used in the MVP presentation.
- Acted as Selçuk, the main character in the live customer demo.
- Coordinated across teams to ensure mobile–backend compatibility and proper endpoint integration.
Responsibilities: I am part of the mobile team. My main responsibility was to plan the implementation process for this and the next milestone. I also handled the general events that affects the entire app like switching the connections to HTTPS domain and dockerization. I also implemented important features like AI chatbots and Search Page. I also made few bugfixes that stemmed from https conversion. You can see my issues and PRs from my weekly reports. I was also active in Lab discussions and plannings.
Main Contributions:
- Implemented the Search Bar for the mobile app, allowing users to easily find other users.
- Implemented the AI Chat for the mobile app.
- Dockerized the mobile app.
- Planned this milestone in labs.
- Updated API domain across the entire app.
Significant Issues:
-
Code-related:
-
Non-code-related:
Conflicts & Resolutions: Since we planned ahead, we didn't face any huge conflicts. Any small conflicts were handled locally and quickly.