MVP Demo Plan - bounswe/bounswe2026group11 GitHub Wiki
Social Event Mapper — MVP Demo Plan
Demo Goal
Show the core value of the MVP in a short, coherent story:
- a new user can access the platform
- a host can create and manage an event
- another user can discover events
- participation flows differ based on privacy type
- users can save events
- hosts can manage join requests
- profile and event history pages work
- mobile and web both support the main journey
Personas
| Persona | Name | Role |
|---|---|---|
| Persona 1 — Host | Zeynep Kaya | Creates and manages events, owns one protected event and one public event, reviews incoming join requests, sees created events and event metrics |
| Persona 2 — Participant | Mert Demir | Registers/logs in, browses and searches events, filters by category/location/radius, joins a public event directly, requests to join a protected event, favorites an event, sees attended events / participation history |
| Persona 3 — Existing User (optional) | Elif Yılmaz | Has pre-populated attendance history and favorites for quick profile/history demo |
Platform Division
- Web: login, event creation, host management, request approval/rejection
- Mobile: discovery, search/filter, event detail, join/request, favorite, profile/history
8-Minute Demo Timeline
0:00 – 0:35 — Opening
Cansu Er
What to say: “Hello, we are presenting the MVP of Social Event Mapper. In this demo, we will show the core journey from event creation to discovery and participation, using both web and mobile. Our focus is on the MVP’s main value: helping users discover events and helping hosts manage participation flows.”
Action: Open the landing page or opening slide with 4 keywords:
- Create
- Discover
- Join / Request
- Manage
0:35 – 2:05 — Web: Host creates a protected event
Oğuz Özer and Mehmet Kaan Ünsel
Action:
- Host account is already authenticated or login is done very quickly
- Open Create Event
- Fill only the fields that visually matter:
- title
- category
- location
- time
- privacy = protected
- capacity
- tags
- Briefly mention optional constraints / image if visible
- Submit
- Show the event appears in My Events
What to say: “Here, the host creates a protected event. Protected events are visible in discovery, but users must send a join request before participating.”
Highlight:
- status = Active
- pending request count = 0
- approved participant count = 0
2:05 – 3:35 — Mobile: User discovers the event and sends join request
Sevde Pekköse and Buğra Keser
Action:
- Participant is already logged in on mobile
- Show discovery list
- Show quick search by keyword
- Show one or two filters:
- category
- location/radius
- Briefly show that other events also exist in the list
- Open the protected event
- Show event details
- Tap Request to Join
- Show pending/requested state
What to say: “On the mobile side, users can discover events through list browsing, search, and filters. Public and protected events appear in discovery. Since this one is protected, the user sends a join request instead of joining immediately.”
3:35 – 4:35 — Web: Host approves request
Oğuz Özer and Mehmet Kaan Ünsel
Action:
- Switch to preloaded host management page
- Refresh if needed
- Open pending requests
- Approve the participant request
What to say: “This shows the host-side request management flow. Pending join requests are handled in the event management pages rather than through a notification system.”
Highlight:
- pending count decreases
- approved participant count increases
4:35 – 5:25 — Mobile: User joins a public event directly
Sevde Pekköse and Buğra Keser
Action:
- Return to discovery
- Open pre-populated public event
- Tap Join Event
- Show immediate success state
What to say: “To contrast the protected flow, here we show a public event. Public events allow direct participation without host approval.”
5:25 – 6:35 — Mobile: Favorite event and show profile/history
Sevde Pekköse and Buğra Keser
Action:
- Open an event detail page
- Tap Save / Favorite
- Go to profile page
- Show:
- profile info
- favorites
- attended events / participation history
What to say: “This demonstrates engagement and account-related features. Users can save events for later, manage their profile, and access their participation history.”
6:35 – 8:00 — Web: Show canceled and completed event states
Oğuz Özer and Mehmet Kaan Ünsel
Action:
- Open a pre-created canceled event, or cancel one very quickly if reliable
- Show status = Canceled
- Open another pre-populated event with past end time
- Show status = Completed
- Briefly show that these statuses are also reflected in host event management / listing pages if visible
What to say: “This demonstrates lifecycle consistency. Hosts can cancel their events, and events automatically transition to completed after their end time.”
Role Assignment (8 people)
Active Speaking Roles
| # | Role | Responsibility | Person |
|---|---|---|---|
| 1 | Moderator / Opener | Opens the demo, introduces the story, handles transitions | Cansu Er |
| 2 | Web Driver | Performs host-side actions on web: event creation, request approval, lifecycle page display | Oğuz Özer |
| 3 | Web-side Narrator / Business Logic Explainer | Explains protected/public logic, request management, lifecycle behavior during web actions | Mehmet Kaan Ünsel |
| 4 | Mobile Driver | Performs discovery, request, join, favorite, profile/history actions | Sevde Pekköse |
| 5 | Mobile-side Narrator | Explains discovery, search/filter, event details, user-side flows | Buğra Keser |
Support Roles
| # | Role | Responsibility | Person |
|---|---|---|---|
| 6 | Timekeeper | Gives silent cues, tracks presentation pacing | Utku Yiğit Demir |
| 7 | Observer / Note Taker | Watches instructor reactions, takes notes | Mehmet Akif Yıldırım |
| 8 | Observer / Note Taker | Watches instructor reactions, takes notes | Emine Türk |
Backup Plan
| If this fails... | Do this instead |
|---|---|
| Event creation fails | Switch to pre-created protected event |
| Join request fails | Show already pending request |
| Approval update does not reflect immediately | Refresh pre-loaded tab |
| Mobile filtering is slow | Use pre-filtered result screen |
| Time runs short | Skip cancellation live and only show canceled/completed states briefly |