hackforla / hackforla/HomeUniteUs

Product: Section 2b: Guest Intake Profile | USER STORY | Upload Photos/Videos

Open
#767 3 comments 0 reactions 1 assignee Claimed by @amitunikorn View on GitHub
Complexity: Small draft p-Feature: Profile Guest Ready for: Product Lead Role: PM Section: 2 Guest size: 1pt User Stories
Dominant language
Python
Stars
45
Forks
22
Avg merge
15d 1h
Merged PRs (30d)
1

Description

## 🧩 Overview
We need to enable **Guests** to upload photos and/or videos to their profiles, so they can **present themselves authentically and improve their chances of being matched with suitable hosts**.

This feature enhances the guest profile experience by allowing multimedia uploads, empowering coordinators and hosts to make more informed and personal matching decisions.

---

## 🧠 Problem Statement
Guests currently lack a way to upload visual media (photos or videos) to their profiles. This limits their ability to represent themselves authentically to hosts and coordinators during the matching process.

Without profile media:
- Hosts and coordinators have less context about the guest.
- The overall trust and transparency of the matching process are reduced.
- Guests may feel underrepresented compared to programs that allow photos or video introductions.

---

## 🙋‍♀️ User Story
**As a** Guest,
**I want** to upload photos or videos of myself to my profile,
**So that** I can present myself accurately and increase my chances of being matched with a suitable host.

---

## 🎯 Acceptance Criteria (Definition of Done)
*Transfer information to Design → Engineering Issue to be checked off*
*These high-level criteria will be detailed further in Design and Engineering handoff templates.*

- [ ] **Upload Capability**: Guests can upload between **1 and 5 photos or videos** in supported formats (e.g., JPG, PNG, MP4) within their profile.
- [ ] **Preview and Management**: Guests can preview uploaded media, and delete or replace photos/videos as needed.
- [ ] **Validation on Submission**: Guests must upload **at least one photo or video** before submitting their profile. If none are uploaded, an **error message** should display and submission should be prevented.
- [ ] **Update after Submission**: Guests can update or replace uploaded media post-submission if requested by a coordinator, **without needing to resubmit the entire profile**.
- [ ] All relevant unit/integration tests pass and meet QA standards.
- [ ] Feature aligns with accessibility and privacy standards.

---

## 🔍 Context / Background
This feature expands guest self-representation and enhances matching accuracy.

- **Design Mockup:** [Guest Wireframe – Upload Photos](https://www.figma.com/design/BNWqZk8SHKbtN1nw8BB7VM/HUU-Main-File---11%2F2024?node-id=19608-16001&t=MT6iDoPNwPGd8Y86-4)
- **Background:** The HUU platform aims to make the host home matching process more personal and informed by enabling both hosts and guests to express themselves through profiles. This enhancement brings parity with host capabilities and aligns with the larger goal of creating trust and transparency in housing matches.

---

## 🖼️ Design Notes (Preliminary)
- **Design readiness:** ✅ Yes
- **Considerations:**
- Maintain visual consistency with existing Guest Profile UI.
- Use existing **form and media upload components** from the HUU design system.
- Apply **Material UI components** for accessible input and preview features.
- Follow **upload pattern** similar to document upload or host image upload modules (if available).

---

## 📌 Scope Considerations (In/Out Scope)
**In Scope:**
- Frontend UI for media upload (photos/videos).
- Backend support for storing uploaded files securely.
- Validation logic and profile submission checks.
- Update capability post-submission.

**Out of Scope (Future Enhancements):**
- Automated media moderation or AI content filtering.
- Coordinator/Host side media review features.
- Video trimming or compression tools.

**Feature List:**
- [x] Added to [Feature List](https://docs.google.com/spreadsheets/d/1uM287TOz20jnXPS4kRe0Dt5GlhnPbNRYBHHOxcamCJ0/edit?gid=343529642#gid=343529642) and completed information accordingly.

---

## 🛑 Constraints / Risks / Workflow Dependency
- **Data privacy:** Must comply with relevant data privacy and consent regulations (e.g., GDPR, CCPA).
- **Storage:** Dependent on AWS S3 or equivalent secure file storage integration.
- **Performance:** Upload limits and compression required to ensure optimal page performance.
- **Dependencies:** Coordination with backend to confirm upload endpoint and authentication (via AWS Cognito).

---

## 🧭 Action Items

### Assign and Prep
- [x] **Product Manager:** Draft and self-assign this User Story.
- [x] Conduct research on technical upload constraints (file size limits, supported formats).
- [ ] Align with backend and design leads on data flow and privacy handling.
- [x] Define story size and scope with Product Team Lead.
- [ ] If needed, break down into smaller engineering tickets (frontend, backend, QA).

### Draft and Review
- [x] Change Issue Status → “In Progress”.
- [x] Complete User Story draft.
- [ ] Move to “For Review / Feedback Needed”.
- [x] Add label **“Ready for: Design Peer Review”**.
- [ ] Address peer and lead feedback iteratively.
- [ ] Final review by Product Lead → **“Ready for: Product Persona”**.

---

## 🔗 Related Tickets
- **Design Ticket:** [_TBD – Add once created_]
- **Engineering Ticket:** [_TBD – Add once created_]
- **QA Test Plan:** [_TBD – Add once created_]

---

## 📎 Resources & References
- **Design Mockup:** [Guest Wireframe – Upload Photos](https://www.figma.com/design/BNWqZk8SHKbtN1nw8BB7VM/HUU-Main-File---11%2F2024?node-id=19608-16001&t=MT6iDoPNwPGd8Y86-4)
- **Brand Guidelines / Design System:** [_TBD – Add once created_]
- **Previous or Related Designs:** [_TBD – Add once created_]
- **Platform Links:**
- [Stable Version – homeunite.us](https://homeunite.us/)
- [Beta Version – dev.homeunite.us](https://dev.homeunite.us/)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.