Sequence Diagram ‐ Private Event Creation - bounswe/bounswe2026group11 GitHub Wiki

Private Event Creation – Happy Path Flow

  1. Host logs in

    The host provides login credentials to the LoginService.

  2. Session creation

    LoginService calls SessionService.createSession(userId) to create a new session for the authenticated user. The session token (or auth token) is returned to the host.

  3. Host creates a private event

    The host calls EventService.createEvent(eventDetails) to create a new event.

  4. Session validation

    EventService verifies the user's session using SessionService.validateSession(authToken) to ensure the request is authorized.

  5. Event persistence

    EventService stores the new event in the database. The database returns the generated eventId.

  6. Event creation confirmation

    EventService returns a success response to the host indicating that the event has been created successfully.

  7. Host invites users

    The host calls EventService.inviteUsers(eventId, usernames) to invite specific users to the private event.

  8. Invitation creation and storage

    For each provided username:

    • An Invitation object is created.
    • EventService.saveInvitation(invitation) stores the invitation in the database.
  9. Notification request creation

    After all invitations are created, EventService.createInvitationNotification(invitations) generates a NotificationRequest containing the list of invited users.

  10. Notification dispatch

    EventService sends the notification request to NotificationService.sendNotification(request).

  11. Notification storage

    NotificationService saves the generated Notification objects in the database.

  12. Guest notification delivery

    NotificationService sends notifications (e.g., push notification or email) to all invited guests listed in the receiverList.

  13. Completion response

    EventService returns a success response to the host indicating that invitations have been sent successfully.