Lab 8: Requirements Review & Acceptance Planning - bounswe/bounswe2025group2 GitHub Wiki

Lab 8: Requirements Review & Acceptance Planning

Report Date: 2025-12-02
Team Name: Group 2
Project: CMPE352/451 Group 2 project (repo: bounswe/bounswe2025group2)

1. Revisit Requirements

As we approach the final delivery, we reviewed our current progress and identified the remaining requirements that will be completed. Below is a summary of the requirements planned for the final submission, along with our approach for completing them.

Requirements Planned for Final Delivery

  • Preferred Sports Section in Mobile Profiles (1.1.1.8)
    We will extend the mobile user profile with a new β€œPreferred Sports” section. Backend support for storing preferences already exists, and the remaining work focuses on implementing the mobile UI and connecting it to the profile update flow. We do not need to extend web because it already supports it.

  • Bookmarking Functionality in the Forum (1.1.3.3)
    Bookmarking will allow users to save forum posts for later access. This will include UI additions to post detail and list screens, along with backend integration for storing and retrieving bookmarks. Also we wll add notification functionality for these bookmarks. Every time a comment is posted in a bookmarked thread we will receive a notification

  • Reporting Functionality & Report Processing Mechanism (1.1.3.6)
    Users will be able to report inappropriate or harmful content. The reporting UI will be added, and a review-processing mechanism will be implemented on the admin side of django to handle submitted reports. Glossary additions can be handled from here too but the discussions still continue.

  • Edit/Delete Own Posts on Mobile (1.1.3.9)
    Mobile users will be able to edit or delete their own forum posts. Backend operations already support this and web already has it; the remaining effort involves exposing these actions in the mobile UI and ensuring proper permission checks.

  • Disable Notification Button (1.1.5.1)
    A toggle option will be added to allow users to disable certain notifications.

  • Challenge History in Mobile 5(1.2.4.5)
    We will make it possible for users to see inactive and completed challenges

All of the requirements above are planned for implementation and will be delivered in the final submission. Also we currently don't have glossary and unit test requirements before the final milestone. They will also be based on those requirements. We currently have the following problems with them:

  • Mobil needs more unit tests
  • Glossary is a static page right now. We will add some functionality to make additions for coaches
  • We will add linking functionality between glossary and other parts of the app, primarily chat
  • The Glossary implementation will be moved to backend properly

2. Acceptance Test Planning

Testing Approach

Acceptance testing will focus on validating the system end-to-end against stakeholder requirements: correctness, usability, and readiness for deployment. Tests will be scenario-driven and executed by a combination of the development team (for automated checks) and representatives of the customer/stakeholders (for manual validation). We will use a mix of automated end-to-end tests (Cypress / Playwright for the TypeScript frontend + integration tests for the Python backend), API contract tests (Postman / pytest), and manual exploratory/usability tests to cover UI flow, edge-cases, and stakeholder preference checks.

Structure:

  • Identify priority user journeys from Customer Milestone 2 (authentication, core CRUD flows, search/filtering, data upload/processing, and main integrations).
  • Define acceptance criteria for each requirement (clear Given/When/Then).
  • Implement automated test cases for regression and repeatable checks.
  • Schedule stakeholder demo sessions and guided manual acceptance tests.
  • Capture defects, triage and re-run acceptance tests after fixes until sign-off.

Acceptance Criteria Framework

We will validate requirements against the following criteria categories:

  • Functional correctness: The feature performs required actions and returns expected results for typical and boundary inputs.
  • User experience: Key flows are intuitive and accessible; response times meet usability targets.
  • Data integrity: Data created/updated/deleted through the UI/API remains consistent across services.
  • Performance: Primary user journeys complete within acceptable time bounds (e.g., < 2s for UI responses under typical load).
  • Security & privacy: Authentication, authorization, and user data handling follow agreed policies.
  • Compatibility & resilience: App works on supported browsers/devices; recovers gracefully from backend failures.

Each requirement will have one or more measurable acceptance statements using Given/When/Then.

Test Cases

Test ID Requirement User Story/Scenario Acceptance Criteria Test Steps Expected Result
AT-001 User Authentication As a user, I want to log in so that I can access my dashboard Given a registered user, When they submit correct credentials, Then they are redirected to their dashboard and a session is established 1. Open login page2. Enter registered email and password3. Click Login User is redirected to dashboard; auth token/session cookie present; user-specific data shown
AT-002 User Registration As a new user, I want to register so that I can create and manage content Given valid registration details, When the user submits the signup form, Then the account is created and a verification/confirmation is shown 1. Open signup page2. Fill required fields with valid data3. Submit form Confirmation message shown; new user exists in user store; optionally verification email sent (or mock)
AT-003 Create Resource / CRUD As a user, I want to create a new resource so that I can store content in the system Given an authenticated user, When they create a new resource with valid inputs, Then the resource is saved and visible in the listing 1. Log in as a user2. Navigate to Create Resource3. Fill fields and submit Resource appears in list with correct fields; persisted in backend (verify via API)
AT-004 Search & Filter As a user, I want to search and filter resources so that I can find relevant items quickly Given multiple items exist, When the user applies search/filter terms, Then the listing updates to show matching results only 1. Go to resources page with many items2. Enter search term or apply filter3. Submit search Listing shows only items matching criteria; counts/labels updated accordingly
AT-005 File Upload & Processing As a user, I want to upload a data file so that it is processed and available in the system Given a valid file, When the user uploads it, Then the system accepts the file, processes it (background job if applicable), and shows processed results 1. Log in2. Navigate to upload area3. Upload valid file and confirm4. Wait for processing or check status Upload success message; processing status shown; processed data appears in UI or API confirms processing completion
AT-006 Authorization Enforcement As an admin and regular user, I want access controls enforced so that users cannot access unauthorized actions Given a non-admin user, When they attempt an admin-only action, Then access is denied (403) 1. Log in as normal user2. Attempt to access admin-only route or action Action blocked with appropriate error; no side effects performed
AT-007 UI Responsiveness As a user, I want the interface to be responsive so that I can use it on different screen sizes Given supported screen sizes, When the pages are loaded, Then UI elements adjust and remain usable 1. Open key pages on mobile, tablet, desktop viewports2. Interact with core flows Layout adapts; controls are accessible and usable on each viewport
AT-008 API Contract As an integrator, I want API endpoints to follow contract so that clients can rely on responses Given the documented API, When requests are made with valid inputs, Then responses match schema and status codes 1. Run API test suite against endpoints2. Validate response schema and status codes All endpoints return expected status and JSON schema; error codes and messages match contract

Stakeholder Validation

We will validate we’re building the right thing by:

  • Running scheduled demo sessions at the end of major milestones (including Customer Milestone 2) where stakeholders follow specific acceptance scenarios.
  • Providing a guided checklist derived from the acceptance criteria for stakeholders to verify during demos.
  • Collecting explicit sign-off from the customer on completed acceptance criteria (a short acceptance form listing passed/failed test cases).
  • Gathering qualitative feedback (usability notes, priority changes) during validation sessions and incorporating them as follow-up user stories or change requests.
  • Using lightweight surveys or SUS-like questions after demos to capture stakeholder satisfaction.

Testing Schedule

  • Pre-demo automated run: Execute automated acceptance test suite (CI) 24–48 hours before stakeholder demo to catch regressions.
  • Stakeholder demo & manual acceptance: During the scheduled milestone review (Customer Milestone 2 review window) β€” stakeholders execute prioritized manual test cases and provide sign-off or feedback.
  • Post-demo fixes and re-test: Team addresses raised defects within the sprint; re-run acceptance tests and present results in a follow-up checkpoint (within 5 working days).
  • Regression & release gating: Before each release to staging/production, run the full automated acceptance suite. Critical acceptance tests must pass for deployment.

3. Current Compliance Status Report

Overview

This document assesses the current compliance status for each W3C standard and design criterion, organized by implementation area (Mobile Frontend, Web Frontend, Backend) where applicable.


Standard 1: Web Content Accessibility Guidelines (WCAG) 2.1 AA

πŸ“± Mobile Frontend

Status: Partially Compliant (~70%)

Completed:

  • βœ… Research on inclusivity strategies completed (#402)
  • βœ… W3C standards applicability verified (#359)
  • βœ… Modern Material 3 design with proper contrast and typography (#600, #604, #605, #606, #607, #608, #609, #610, #611, #612)
  • βœ… Consistent navigation patterns (TopBar, BottomBar)
  • βœ… Keyboard navigation through React Native Paper components
  • βœ… Authentication page redesign (#471)
  • βœ… Forum page with WCAG compliance (#430)

In Progress:

  • πŸ”„ Mobile app icon design (#629)
  • πŸ”„ Unit testing for accessibility features (#627, #628)

Gaps:

  • Text alternatives for non-text content not verified across all pages
  • Screen reader optimization not explicitly tested
  • Assistive technology compatibility testing not documented

Action Plan:

  • Complete mobile app icon with accessibility considerations (Due: 10/12/2025)
  • Conduct screen reader testing on key user flows
  • Add alt text audit to QA checklist
  • Document assistive technology testing results

🌐 Web Frontend

Status: Partially Compliant (~60%)

Completed:

  • βœ… Unit testing infrastructure with Vitest and React Testing Library
  • βœ… Modern component library (Radix UI) with built-in accessibility primitives
  • βœ… ESLint configuration for code quality and React best practices
  • βœ… Responsive design with Tailwind CSS

In Progress:

  • πŸ”„ Comprehensive accessibility audit
  • πŸ”„ Integration testing for critical flows

Gaps:

  • Internationalization (i18n) not yet implemented
  • Automated accessibility testing (e.g., axe-core) not configured
  • E2E testing not yet set up

Action Plan:

  • Install and configure i18n library (e.g., react-i18next)
  • Add automated accessibility checks to CI pipeline
  • Expand test coverage to include integration tests

Standard 2: Activity Streams 2.0

βš™οΈ Backend

Status: Not Implementing (By Design Decision)

Rationale: GenFit is a domain-specific application that does not provide external API access. We have decided not to implement Activity Streams 2.0 standardized format as:

  • Our API is thoroughly documented internally
  • No external platform integration is planned
  • The standardized JSON-LD format is not required for our internal use case

User Activity Features Implemented (Mobile & Web):

  • User activities display: Forum threads, posts, comments
  • Social engagement: likes, comments, reactions
  • Activity feeds and timelines
  • Challenge sharing and notifications

Action Plan:

  • N/A - Design decision to use internal API documentation standards
  • Continue maintaining thorough internal API documentation
  • Maintain OpenAPI specification for backend endpoints

Standard 3: Internationalization (i18n) Standards

πŸ“± Mobile Frontend

Status: Partially Compliant (~30%)

Completed:

  • βœ… UTF-8 language format support (from meeting notes)
  • βœ… RTL (right-to-left) script support implemented

Deferred to Later Milestones:

  • ⏸️ Locale-appropriate date, number, and currency formatting
  • ⏸️ Local timezone support (mentioned in meeting notes, not yet implemented)

Gaps:

  • Multi-language UI not implemented
  • Locale-specific formatting not configured

Action Plan:

  • Evaluate priority of i18n features for final delivery
  • If required, implement locale-specific formatting for dates/numbers
  • Add timezone support if needed for goal/challenge scheduling

🌐 Web Frontend

Status: Not Started (~0%)

Completed:

  • None

Deferred:

  • ⏸️ Multi-language support deferred to future release

Gaps:

  • No i18n libraries installed
  • No translation files created

Action Plan:

  • Evaluate need for multi-language support in MVP
  • If needed, install react-i18next and set up translation infrastructure

βš™οΈ Backend

Status: Foundation Ready (~40%)

Completed:

  • βœ… Django USE_I18N = True enabled in settings
  • βœ… UTF-8 encoding supported by default

Gaps:

  • No translation files (.po/.mo) found
  • LOCALE_PATHS not configured
  • Content translation not implemented in models

Action Plan:

  • Configure LOCALE_PATHS
  • Generate translation files for supported languages
  • Implement model translation if content needs to be localized

Design Criterion: Inclusive Design

πŸ“± Mobile Frontend

Status: Highly Compliant (~85%)

Completed:

  • βœ… Modern authentication with inclusive design (#471)
  • βœ… Responsive design across devices
  • βœ… Material 3 accessibility principles (#600)
  • βœ… Profile hero section redesign (#608)
  • βœ… Mentorship section modernization (#609)
  • βœ… Goals section styling (#610)
  • βœ… Home page redesign with thread cards (#606)
  • βœ… Exercise library collapsible card (#607)
  • βœ… Toast notifications for better UX (#612)
  • βœ… Consistent navigation and typography

Gaps:

  • User testing with diverse ability users not documented
  • High contrast mode not implemented
  • Font scaling beyond system defaults not tested

Action Plan:

  • Conduct usability testing with users of varying abilities
  • Consider high contrast theme for final delivery
  • Test with maximum system font scaling settings

🌐 Web Frontend

Status: Good (~70%)

Completed:

  • βœ… Use of accessible component primitives (Radix UI)
  • βœ… Responsive layouts for various screen sizes
  • βœ… Clear visual hierarchy with Tailwind styling

Gaps:

  • High contrast mode not explicitly tested
  • Keyboard navigation flow not fully verified

Action Plan:

  • Conduct keyboard navigation audit
  • Verify color contrast ratios meet WCAG AA standards

Design Criterion: Valuing Contributions & Community Health

πŸ“± Mobile Frontend

Status: Partially Compliant (~50%)

Completed:

  • βœ… Recognition features: likes, comments, forum engagement
  • βœ… Mentor system implemented (#498, #377)
  • βœ… Challenge difficulty levels (#491)
  • βœ… AI suggestions for goals (#502)

In Progress:

  • πŸ”„ Report mechanism for inappropriate content (#489)
  • πŸ”„ Contact page for support (#501)

Gaps:

  • Moderation workflow UI not visible
  • User blocking/muting features not implemented
  • Badges or achievement system not present
  • Community analytics dashboard not available
  • Visible community impact metrics not shown

Action Plan:

  • Complete report mechanism implementation (Due: 06/12/2025)
  • Complete contact page (Due: 06/12/2025)
  • Evaluate feasibility of badges/achievements for final delivery
  • Consider simple community impact metrics (e.g., total goals achieved, challenges completed)

🌐 Web Frontend

Status: Limited (~30%)

Completed:

  • βœ… UI components for displaying community content (forums, posts)

In Progress:

  • πŸ”„ Integration with backend moderation features

Gaps:

  • User reporting UI not fully implemented
  • Community guidelines not prominently displayed

Action Plan:

  • Implement UI for reporting users/content
  • Add link to Community Guidelines in footer/settings

βš™οΈ Backend

Status: In Progress (~50%)

Completed:

  • βœ… API endpoints for forum and comments
  • βœ… Authentication and permission classes implemented

In Progress:

  • πŸ”„ Moderation tools for admins

Gaps:

  • Explicit Report or Block models not found in API
  • Automated content filtering not implemented

Action Plan:

  • Create Report model for user reports
  • Implement Block functionality at model level
  • Add admin views for reviewing reported content

Design Criterion: Detecting & Responding to Harmful Behavior

πŸ“± Mobile Frontend

Status: In Progress (~40%)

In Progress:

  • πŸ”„ Report mechanism implementation (#489) - Due: 06/12/2025
  • πŸ”„ Contact/support page (#501) - Due: 06/12/2025

Planned (from meeting notes):

  • Support email to be provided
  • Reporting mechanism for inappropriate content planned

Gaps:

  • Harmful pattern detection algorithms not implemented
  • Automated content moderation not present
  • Conflict resolution process not documented
  • Transparent moderation policies not displayed in app

Action Plan:

  • Complete report mechanism UI and backend integration
  • Complete contact page with support email display
  • Document moderation policy for user visibility
  • Add Terms of Use display in app (#374 in progress)

🌐 Web Frontend

Status: Limited (~20%)

Completed:

  • βœ… Basic error handling and user feedback

In Progress:

  • πŸ”„ Reporting UI

Gaps:

  • No proactive harm detection features
  • No user blocking UI

Action Plan:

  • Implement frontend for user blocking
  • Add "Report" button to all user-generated content

βš™οΈ Backend

Status: Foundation (~40%)

Completed:

  • βœ… Secure authentication (JWT/Session)
  • βœ… Permission classes to restrict access

Gaps:

  • No automated harm detection (text analysis, etc.)
  • Moderation workflow APIs missing

Action Plan:

  • Implement basic keyword filtering for comments/posts
  • Create APIs for moderation actions (ban, mute)

Principle: Privacy by Design & Data Protection

πŸ“± Mobile Frontend

Status: Good Foundation (~65%)

Completed:

  • βœ… HTTPS implementation and bug fixes (#595)
  • βœ… CSRF protection with referer headers (#595)
  • βœ… Secure authentication (login/registration)
  • βœ… API security with centralized configuration (#558)
  • βœ… Containerization for deployment (#593)

In Progress:

  • πŸ”„ Terms of Use text (#374)

Planned (from meeting notes):

  • Right to be forgotten supported
  • Django cross-domain request blocking planned (backend)
  • HTTPS for data in transit

Gaps:

  • Privacy Policy not yet created
  • Cookie consent UI not implemented
  • Data retention policy not displayed to users
  • User data export functionality not present
  • Encryption at rest not verified
  • In-app privacy settings not comprehensive

Action Plan:

  • Complete Terms of Use (#374)
  • Create Privacy Policy (coordinate with backend team)
  • Add Privacy Policy display in app settings
  • Add cookie consent if web views are used
  • Document and display data retention policies
  • Implement user data export feature if feasible

🌐 Web Frontend

Status: Good (~75%)

Completed:

  • βœ… Secure HTTP handling (via axios/browser)
  • βœ… No sensitive data stored in local storage (JWT handling to be verified)
  • βœ… CSRF protection integration

In Progress:

  • πŸ”„ Privacy policy page

Gaps:

  • Cookie consent banner missing
  • Data export UI missing

Action Plan:

  • Implement cookie consent banner
  • Add page for Privacy Policy

βš™οΈ Backend

Status: Strong (~85%)

Completed:

  • βœ… HTTPS enforced (via load balancer/settings)
  • βœ… CSRF protection enabled (CsrfViewMiddleware)
  • βœ… Secure cookie settings (SESSION_COOKIE_SECURE, CSRF_COOKIE_SECURE)
  • βœ… XFrameOptionsMiddleware enabled

Gaps:

  • Data export API not found
  • Automated data retention policies not visible in code

Action Plan:

  • Implement "Download My Data" endpoint
  • Document data retention policy

Principle: Transparency & Accountability

πŸ“± Mobile Frontend

Status: Limited (~40%)

Completed:

  • βœ… Clear navigation and user flows
  • βœ… Toast notifications for user feedback (#612)
  • βœ… Error messages displayed to users

Gaps:

  • Algorithm explanations not provided (e.g., AI suggestions, recommendations)
  • Data usage transparency not displayed
  • Decision traceability not visible to users
  • System limitations not clearly communicated

Action Plan:

  • Add explanatory text for AI features (goal suggestions, chatbot)
  • Display data usage information in settings/privacy page
  • Document known limitations in help/about section

🌐 Web Frontend

Status: Moderate (~50%)

Completed:

  • βœ… Clear error messages
  • βœ… Loading states for better UX

Gaps:

  • Explanation of AI suggestions not prominent
  • Data usage info not displayed

Action Plan:

  • Add tooltips explaining AI suggestions
  • Add "About" page with data usage info

βš™οΈ Backend

Status: Good (~70%)

Completed:

  • βœ… Comprehensive API documentation (Swagger/OpenAPI)
  • βœ… Logging enabled

Gaps:

  • Algorithmic transparency documentation missing
  • Bias audit logs missing

Action Plan:

  • Add documentation for AI/Recommendation algorithms
  • Implement audit logging for sensitive actions

Principle: Fairness & Non-Discrimination

πŸ“± Mobile Frontend

Status: Good Intent (~60%)

Completed:

  • βœ… Inclusive design principles applied
  • βœ… Equitable access to features (no paywalls)
  • βœ… Mentor system promotes accessibility to coaching

Gaps:

  • Bias audit of displayed content/recommendations not performed
  • No formal testing for demographic fairness
  • Algorithm bias in AI features not assessed

Action Plan:

  • Review AI suggestion algorithms for potential bias (coordinate with backend)
  • Test with diverse user demographics if possible
  • Document fairness considerations in AI features

🌐 Web Frontend

Status: Good Intent (~60%)

Completed:

  • βœ… Accessible design ensures broad usability

Gaps:

  • No specific fairness testing for different demographics

Action Plan:

  • Include diverse personas in user testing

βš™οΈ Backend

Status: Good Intent (~60%)

Completed:

  • βœ… API design treats all users equally

Gaps:

  • No automated bias detection in algorithms

Action Plan:

  • Review recommendation algorithms for potential bias

Additional: Testing & Quality Assurance

πŸ“± Mobile Frontend

Status: Strong Progress (~75%)

Completed:

  • βœ… Home page unit tests (#509)
  • βœ… Settings page unit tests (#508)
  • βœ… Forum page unit tests (#517)
  • βœ… Profile page unit tests (#563)
  • βœ… Goal warning tests (#583)
  • βœ… Bug fixes: AI Chat (#578), Chat (#573), Challenge HTTPS (#595)

In Progress:

  • πŸ”„ Mentor search page unit tests (#627) - Due: 04/12/2025
  • πŸ”„ Mentor table unit tests (#628) - Due: 06/12/2025
  • πŸ”„ Acceptance test planning (#631)

Gaps:

  • Test coverage percentage not formally tracked (target: β‰₯90%)
  • Integration tests not documented
  • End-to-end tests not mentioned
  • Automated accessibility tests not set up
  • Performance testing not documented

Action Plan:

  • Complete ongoing unit tests
  • Set up coverage reporting tools
  • Define integration test strategy
  • Consider E2E testing framework for critical flows
  • Add performance benchmarks for key screens

🌐 Web Frontend

Status: Strong (~80%)

Completed:

  • βœ… Unit tests with Vitest (ActivityDashboard.test.tsx etc.)
  • βœ… Component testing with React Testing Library

In Progress:

  • πŸ”„ Increasing test coverage

Gaps:

  • End-to-End (E2E) tests missing

Action Plan:

  • Set up Cypress or Playwright for E2E testing

βš™οΈ Backend

Status: Strong (~80%)

Completed:

  • βœ… Extensive unit tests in api/tests
  • βœ… pytest configuration present
  • βœ… Integration tests for API endpoints

Gaps:

  • Load testing not documented

Action Plan:

  • Add load testing with Locust or similar tool

Additional: Code Quality & Standards

πŸ“± Mobile Frontend

Status: Assumed Good (~80%)

Completed (Assumed from meeting notes):

  • βœ… ESLint/Prettier conventions
  • βœ… CI/CD lint/test gating
  • βœ… Modern codebase with Material 3 migration (#600)
  • βœ… Containerization (#593)

Gaps:

  • Mobile-specific linting rules not explicitly documented
  • React Native specific quality checks not verified
  • Code review process not formalized in issues

Action Plan:

  • Document mobile linting configuration
  • Ensure React Native best practices are enforced
  • Formalize code review checklist

🌐 Web Frontend

Status: Good (~75%)

Completed:

  • βœ… ESLint configured (eslint.config.js)
  • βœ… TypeScript for type safety

Gaps:

  • Prettier config not explicitly found (might be embedded or default)

Action Plan:

  • Ensure Prettier is configured and running in CI

βš™οΈ Backend

Status: Moderate (~60%)

Completed:

  • βœ… Standard Django project structure
  • βœ… Type hinting used in some places

Gaps:

  • No explicit linting configuration (pylint/flake8) found in root
  • No pre-commit hooks visible

Action Plan:

  • Add flake8 or pylint to requirements.txt and CI
  • Set up pre-commit hooks

Summary: Mobile Frontend Compliance Overview

Standard/Criterion Status Compliance % Priority Actions
WCAG 2.1 AA Partial ~70% Complete accessibility testing, add alt text audit
Activity Streams 2.0 Not Implementing (Backend Decision) N/A Maintain internal API docs
Internationalization Partial ~30% Evaluate i18n priority for final delivery
Inclusive Design Excellent ~85% User testing with diverse abilities
Community Health Progressing ~50% Complete reporting mechanism, contact page
Harmful Behavior Detection In Progress ~40% Finish reporting UI, display moderation policy
Privacy & Security Good ~65% Create Privacy Policy, add consent UI
Transparency Limited ~40% Add AI explanations, data usage info
Fairness Good Intent ~60% Bias audit for AI features
Testing Strong ~75% Complete unit tests, add coverage tracking
Code Quality Good ~80% Document linting config

Overall Mobile Compliance: ~60%


Next Steps

  1. Web Frontend Team: Fill in all "[To be filled by web team]" sections
  2. Backend Team: Fill in all "[To be filled by backend team]" sections
  3. All Teams: Review and coordinate on cross-cutting concerns (Privacy Policy, Terms of Use, API docs, reporting mechanism)
  4. Lab 8 Deadline: 02/12/2025 - 23:59

Document prepared by: Abdullah Umut Hamzaoğulları (Mobile Team) Last updated: 02/12/2025 Related Issues: #635, #636


4. User Experience Assessment

Feedback Received in MVP Demo

  • (UX) Increase the number of Goal Types to offer users more choices.
  • (UX) Add user search functionality on the chat page to make finding users easier.
  • (UX) Link glossary terms to chat or forum content.
  • (UX) Add predefined target units for goals (users can still enter custom units).

UX Improvement Goals

  • Add bookmarking for forum threads.
  • Add a β€œChat with User” button on user profiles.
  • Add thread search capability.
  • Add AI chat formatting (preferably Markdown).
  • Add the ability to disable notifications.
  • Add more specific notification content (e.g., include thread title).
  • Improve the Settings page layout and usability.

5. Summary and Next Steps


Report Date: 2025-12-02
Team Name: Group 2
Project: CMPE352/451 Group 2 project (bounswe/bounswe2025group2)