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

Lab 8: Requirements Review & Acceptance Planning

1. Revisit Requirements

1.1 Current Status

The project has successfully concluded its MVP (Minimum Viable Product) phase. The core infrastructure and essential user flows are largely Completed, ensuring that the primary value proposition of the platform is functional.

  • Core Systems: User authentication (registration/login), Profile management, and Garden creation/management are fully operational.
  • Task & Event Management: Basic task creation, updates and deletion, status tracking, and event creation with voting mechanisms are complete.
  • Communication: Internal Garden Chat and Forum posting capabilities are implemented.
  • Technical Performance: System uptime and response time targets have been met.
  • Internationalization: LTR/RTL support and translation frameworks are in place.

Currently, the team is transitioning into the "Post-MVP" phase, actively working on active items marked In Progress.

1.2 Remaining Work

The remaining work falls into three primary categories:

  1. Advanced Functionality & Engagement:
    • Task System: Multiple Assignee Support (Req 2.5) and Periodical Task scheduling (Req 3.1).
    • Valuing Contributions and Community Impact: Forum Liking (Req 15.2), Best Answer Selection (Req 15.3), and Impact Feedback/Summaries (Req 15.5, 15.6).
    • Gardening Reminders: Weather-based Gardening Reminder (Req 4.2)
  2. Privacy & Security Hardening:
    • Permissions: Garden Chat configuration (Req 8.1.2) and Profile Visibility settings (Req 17.1.5).
    • Security: Location Masking (Req 17.1.6), Authentication Hardening (Req 17.4.4), and Web Penetration Testing (Req 17.4.6).
  3. Accessibility Refinement:
    • Visual: Font Resizing up to 200% (Req 13.9).
    • Testing: Completion of screen reader compatibility tests (Req 13.7).

1.3 Plan for Missing Requirements

As we plan to cover all requirements by the Final Milestone, the team has adopted a prioritized, phased approach as detailed in the project plan and visualized in the Github Project Plan:

  • Phase 1: Core Functionality Updates (Immediate Priority) The team is currently prioritizing features that directly extend the core logic. This includes Multiple Task Assignee Support (#447), Periodical Task Creation (#448) and Weather Based Gardening Reminders (#449), alongside the Reporting System (#450, #451). These are critical for user retention and system integrity.

  • Phase 2: Engagement & Accessilibity (Mid-Milestone) Once core logic updates are stable, development will shift to Forum enhancements like Post/Comment Liking (#455) and Best Answer Selection (#456). Simultaneously, the more complex Impact Feedback System (#457) will be developed to meet requirements 15.5 and 15.6. Additionally, Chat Permissions (#452) will be implemented to enhance privacy, and Font Resizing (#454) will be supported to improve accessilibity for the requirement 13.9.

  • Phase 3: Accessibility, Privacy & Security (Final Stretch) The final phase leading up to the milestone focuses mainly on non-functional requirements to ensure compliance and safety:

    • Privacy: Implementation of Profile Visibility Choice (#459) and User Location Masking (#460).
    • Accessibility: Screen Reader Testing (#453) and implementation of the necessary improvements.
    • Security: The schedule concludes with Authentication Hardening (#461) and a comprehensive Web Penetration Test (#462) to validate security requirements (17.4).

2. Acceptance Test Planning

We will adopt the following acceptance testing method to validate that we're building the right product from our users' perspective. We decided to focus on verifying that core features—Authentication, Garden Management, Task Management, Forum, and Profile—work correctly in real user workflows.

2.1 Test Structure

Our team members will perform tests by acting as end-users. We will use manual black-box testing, interacting with the application exactly as a regular user would.

Environment:

  • Browsers: Chrome or Firefox
  • Resolution: 1920x1080 desktop or mobile simulation
  • Backend: Frontend connected to staging API

2.2 Acceptance Criteria

Feature What We Validate
Authentication Users can register and login/logout. Invalid inputs show clear errors.
Garden Management Users can create gardens with location, description, images, and visibility toggle.
Task Management Users can create tasks, assign members, set deadlines, and define custom types.
Forum Users can create posts with text and images.
Profile Users can update profile info and follow/unfollow others.

Sample Test Case:

TC_ACC_003: Create Garden

Step Action Expected Result Note
1 Go to http....
2
3

2.3 Stakeholder Validation

We will validate our product meets stakeholder expectations through:

Traceability: Each test case will map directly to our SRS requirements, ensuring we cover what stakeholders asked for. Example:

Test Case Requirement Feature
TC_ACC_001 FR X.X Registration
TC_ACC_002 FR X.X Login
TC_ACC_003 FR X.X, X.Y Create Garden

User Perspective: All tests wil be written from the end-user viewpoint—we describe what users click, see, and experience rather than technical backend operations.

Real Workflow Coverage: Our test cases follow actual user journeys: signing up → creating a garden → adding tasks → posting in forum → managing profile. This ensures the system works as a cohesive product, not just isolated features.

3. Current Compliance Status

3.1 Compliance Summary

We have maped the project requirements to the relevant W3C standards and indicated their current implementation status. Items marked Compliant have been implemented, while items marked Pending are currently tracked via GitHub issues.

Web Content Accessibility Guidelines (WCAG) 2.1 AA

ID Requirement Status Remarks/Issues
14.2 Support a map for addresses to enhance user experience and improve accessibility. Compliant Implemented to provide visual context.
14.3 Provide configurable accessibility preferences (font size, contrast, language). Compliant Covered.
14.4 Offer multiple theme options (light, dark, high-contrast). Compliant Covered.
14.5 Support inclusion/display of images in gardens/forums to reduce language barriers. Compliant Covered.
14.6 Support images with different resolutions for data accessibility. Compliant Covered.
13.1 Provide descriptive text alternatives (alt text) for non-text content. Compliant Covered.
13.9 Allow resizing of text/images up to 200% without loss of functionality. Pending Issue #454: Font resize issue

Activity Streams 2.0

ID Requirement Status Remarks/Issues
15.1 Implement recognition mechanism (badges, achievements) for engagement. Compliant Covered.
7.2.2.4 Allow Workers to create events within their garden. Compliant Represents user activity in standard format.
8.1.1 Provide internal chat section within each garden. Compliant Supports social engagement.
15.3 Provide "best answer" selection for forum questions. Pending Issue #456: Best answer selection
15.2 Support engagement features (likes, reactions) for posts/comments. Pending Issue #455: Forum post/comment liking

Internationalization (i18n) Standards

ID Requirement Status Remarks/Issues
16.1.1 Use a translation framework (e.g., react-i18next) to separate UI text. Compliant Framework integrated.
16.1.2 Avoid hardcoded text; use translation keys for all UI components. Compliant Codebase standardized.
16.2.1 Support both LTR and RTL script layouts. Compliant Layout engine configured.
16.2.2 Correctly mirror UI layouts for RTL languages (e.g., Arabic). Compliant CSS logic implemented.

3.2 Gaps & Action Plan

The following gaps represent requirements that are defined but not yet fully implemented. These are currently prioritized in the development backlog.

Gap 1: Visual Scalability (WCAG)

  • Requirement: 13.9 (Resize up to 200%).
  • Current State: The interface may break or truncate when browser zoom or font scaling is applied.
  • Action Plan: Resolve Issue #454. Developers will refactor fixed-height containers to use relative units (em/rem) and test responsive wrapping behavior.

Gap 2: Social Interactions (Activity Streams)

  • Requirement: 15.2 (Likes/Reactions) and 15.3 (Best Answer).
  • Current State: Users can view content but lack interactive mechanisms to signal value or agreement.
  • Action Plan:
    • Resolve Issue #455 to implement the backend schema for reactions and frontend toggle components.
    • Resolve Issue #456 to add logic allowing the original poster to pin a "best answer."

3.3 Ensuring Full Compliance

To ensure the system remains compliant we have discussed the gaps above and reflected on completed requirements.

4. User Experience Assessment

4.1 Feedback Received

4.1.1

The customers have expressed that the users would expect a map view to learn about a gardens location and what is nearby.

4.1.2

The customers have expressed that the users would expect to know how long would the event last.

4.1.3

The customers have expressed that the users would expect to see a progress bar for the badges that have some progress to it.

4.1.4

The customers have expressed that earning a badge should trigger a notification, and that badges can have progress bars.

4.1.5

The customers have expressed that the reporting and moderation features should be improved.

4.1.6

The customers have expressed that a calendar integration would be useful.

4.2 Planned UX Improvements

4.2.1

A map view component that shows the location of a garden will be added.

4.2.2

A "duration" property will be added to each event and it will be properly displayed to users.

4.2.3

A progress bar to progressable events will be added and it will be properly displayed to users.

4.2.4

A notification will be triggered when a user earns a badge and it will be properly displayed to the user.

4.2.5

Reporting process will be refined and a moderation page for moderators will be implemented. Moderators will be able to view the reports and handle them accordingly.

4.2.6

A calendar integration or ability to export tasks to one's calendar will be added.

4.3 Final UX Goals

We aim Community Garden Planner to be a community-oriented app that is inviting and welcoming for everyone. Therefore, in the beginning of this semester, we adjusted our requirements to design a highly accessible and inclusive app. To accomplish that, we will improve our current accessibility and inclusivity requirement implementations and implement the unimplemented ones. We will also make the UX changes mentioned above to make the Community Garden Planner easy to use and accessible for all users.