| # | Requirement | Details | |---|-------------|---------| | | Casting Creation | Form fields: Title, Description, Producer Name (auto‑filled), Start/End dates, Max participants (default 35, editable up to 35). | | FR‑02 | Invitation Engine | Search verified talent, multi‑select, optional message, auto‑generated unique tokenized link ( /castings/priv/token ). | | FR‑03 | Verification Gate | Only accounts with status = verified can be invited. System blocks unverified accounts with UI warning. | | FR‑04 | Upload Module | Drag‑and‑drop + file picker. Accept video/avi , video/mp4 . Size limit 500 MB. Show progress bar, checksum verification. | | FR‑05 | Transcoding Pipeline | On upload: store original AVI in secure blob storage. Trigger a background job → H.264 MP4 → store alongside. Generate thumbnails (3 per video). | | FR‑06 | Playback UI | HTML5 player with custom controls: pause, frame‑step, comment‑pin (click to add comment at timestamp). Fallback to MP4 if browser cannot play AVI. | | FR‑07 | Commenting | Inline comment component attached to timestamp. Store comment text, author, timestamp, optional attachment. | | FR‑08 | Decision Workflow | Buttons: “Approve”, “Reject”. Prompt optional note. Once decision saved, lock further uploads/comments for that talent. | | FR‑09 | Notifications | Email & in‑app push: invitation, upload receipt, comment received, decision outcome. | | FR‑10 | Audit Log | Immutable log (append‑only) with fields: action, actor, timestamp, IP, affected entity IDs. Exportable CSV. | | FR‑11 | Admin Dashboard | List all private castings, filter by producer, status, date range. Bulk‑verify users. | | FR‑12 | Webhooks | private_casting.created , private_casting.invited , private_casting.uploaded , private_casting.decision . Payload in JSON. | | FR‑13 | Security | All private casting URLs are token‑protected (UUID v4). Tokens expire 30 days after casting end. HTTPS‑only. RBAC: Producer = owner, Talent = invitee, Admin = full. | | FR‑14 | Analytics | Track: # invites sent, # videos uploaded, average upload size, average time to decision. Exportable via API. |
"private castings 35 pierre woodman rebecca avi verified" private castings 35 pierre woodman rebecca avi verified
TABLE decisions ( id UUID PRIMARY KEY, invitation_id UUID REFERENCES casting_invitations(id), decision ENUM('approved','rejected') NOT NULL, note TEXT, decided_at TIMESTAMP DEFAULT now(), decided_by UUID REFERENCES users(id) ); | # | Requirement | Details | |---|-------------|---------|
The waiting game began. Days turned into weeks, and Rebecca had almost given up hope when she received an email with a single sentence: "You have been selected for a private casting session with Pierre Woodman." System blocks unverified accounts with UI warning
2026 © COPYRIGHT – ALL RIGHTS RESERVED – WBSS MEDIA LTD