@startuml userlogin actor Client participant "UserLogin" as login participant "FaceVerification" as verification participant "JWTToken" as jwt database "TinyDB" as db Client -> login : user_login(file) activate login login -> verification : verify_user_face(file_path) activate verification verification --> login : verification_result deactivate verification login -> jwt : create_access_token(user_id, metadata) activate jwt jwt --> login : access_token deactivate jwt login -> db : insert_token(user_id, access_token, expires_at) activate db db --> login deactivate db login --> Client : {access_token, user_id, name, role} deactivate login @enduml