MVP Milestone - bounswe/bounswe2026group11 GitHub Wiki

Target Delivery: Apr 7, 2026

Goal

Deliver a usable first version of Social Event Mapper that supports the core journey from registration to event discovery and participation, while keeping the scope focused and practical.

Scope

The MVP should establish the main product value:

  • users can register and log in
  • hosts can create and cancel events
  • users can discover events through list-based browsing and search
  • users can join or request to join depending on privacy type
  • pending requests and invitations are managed through relevant pages instead of a notification system

Concrete Deliverables

1. Authentication and User Accounts

  • User registration with email verification via mail OTP
  • Login with username + password
  • Invalid credential handling
  • Access and refresh token creation
  • Basic user profile management:
    • profile photo
    • display name
    • bio

2. User Profile and History

  • View and edit user profile
  • View created events
  • View attended events / participation history

3. Event Creation and Lifecycle

  • Create a new event with mandatory fields:
    • title
    • description
    • category
    • image
    • location
    • start time
    • optional end time
    • host
    • privacy type
    • capacity
  • Add up to 5 custom tags
  • Add optional participation constraints
  • Cancel event as host
  • Event status support:
    • Active
    • Completed
    • Canceled

4. Event Discovery

  • Discover events in list view
  • Search events by:
    • title
    • description
    • tags
    • location
  • Filter events by:
    • selected location
    • radius / distance
    • time range
    • category
    • tags
  • Visibility rules:
    • public and protected events visible in discovery

5. Privacy and Participation Flows

  • Support two event types for now (private later):
    • Public
    • Protected
  • Public event participation flow
  • Protected event join request flow:
    • create join request
    • approve / reject by host
  • Participation record creation for approved users
  • Participant count tracking for approved users only

6. Event Details and Engagement

  • View event details
  • Save / favorite an event
  • View favorite events
  • Show event metrics:
    • approved participant count
    • pending request count for host
    • save count

7. Request Tracking

  • Hosts can view pending join requests in their event management / My Events area
  • Users can view participation-related actions from relevant pages

8. Basic Event Consistency

  • Automatic transition from Active to Completed after end time
  • Access control and visibility rules enforced consistently

Main Tasks

Product and Planning

  • Finalize MVP boundaries and main user flows
  • Confirm key rules for visibility, access, and participation
  • Align core terminology and system behavior

Core Development

  • Implement authentication, profile, event, discovery, and participation capabilities
  • Support invitation and join request handling
  • Enforce authorization and privacy rules
  • Support event status changes and basic event management

Interface Development

  • Build the main user flows for account access, event creation, discovery, participation, and event management
  • Provide list-based browsing and filtering
  • Provide pages for hosts and users to track requests

Data and System Support

  • Store and manage core entities and relationships
  • Keep participation and event data consistent
  • Support the basic lifecycle behavior required by the MVP

Validation

  • Test the main user journeys end to end
  • Validate privacy and participation flows
  • Validate event lifecycle behavior and core access rules

Acceptance Criteria

  • A new user can register with SMS OTP verification, log in, and manage a profile
  • A host can create and cancel an event
  • Users can discover eligible events through list view, search, and filters
  • Users can filter events based on selected location and radius
  • Public and protected participation flows work correctly
  • Hosts can manage requests through event-related pages
  • Users can save events and access their favorites list
  • Event lifecycle and access-control rules behave consistently