@startuml
scale max 700 width
title Project Management Sequence Diagram

footer
Created by: Eric Marsh (mars2681) 
Reviewed by: Ben Bolton (bolt1003)
Audit 04-11-2016 by: Ben Bolton (bolt1003)
endfooter

footer 
Created by mars2681.
endfooter

actor User

activate User
User --> Server : CreateProject()
deactivate User
activate Server
Server --> Project : CreateProject()
deactivate Server
activate Project
Project --> Project : Initialize()
Project --> User : MakeUserAdmin()
deactivate Project


activate User
User --> Server : DeleteProject()
deactivate User
activate Server
Server --> Project : IsAdmin()
deactivate Server
activate Project
Project --> Project : Delete()
deactivate Project


activate User
User --> Server : EditProject()
deactivate User
activate Server
Server --> Project : IsAdmin()
deactivate Server
activate Project
Project --> Project : Edit()
deactivate Project


activate User
User --> Server : EditPermissions()
deactivate User
activate Server
Server --> Project : IsAdmin()
deactivate Server
activate Project
Project --> Project : EditPermissions()
deactivate Project


activate User
User --> Server : JoinProject()
deactivate User
activate Server
Server --> Server : AskAdminToJoinProject()
Server --> Project : PermissionAccepted()
deactivate Server
activate Project
Project --> Project : GiveUserPermission()
deactivate Project


activate User
User --> Server : ExportProject()
deactivate User
activate Server
Server --> Project : IsAdmin()
deactivate Server
activate Project
Project --> Project : ExportProject()
deactivate Project


deactivate User

@enduml

