--- tags: client-archief --- # Client Meeting 12-12-2022 ## Database When database and keystrokes team have finished all necessary methods, these can be integrated in the client Per user id 3 databases : - Per kanaal permission om keystrokes op te sturen naar de andere clients (Max will interact with this one) - Per andere user zijn keystrokeinformatie (kan enkel verkregen worden via een kanaal waarvoor die andere user permission heeft gegeven) (this database is updated when keystrokeanalysis is run, thus Henri will interact with this one) - Words database for word completion (Rob will interact with this one) Max Will take care of permissions : - Two commands to enable and disable the permissions in a channel -> update the database and save - These commands will enable or disable the sharing of keystrokes in the channel in which the user is currently in (thus no parameters needed) Henri : At setProfile(), the database can be loaded with loadDatabases(), which returns all databases of a certain user. These databases are saved in the profile and can thus be called with client.getProfile().channelsDatabse All databases are then saved separately with .save(). These will all be saved when closing the program. For Keystroke interaction : (Henri will use these methods) - 3 functions are provided for keystrokeanalysis - formatKeystrokeElements() format the keystrokes to the correct format - sendKeystrokes() must be called before sending the keystrokes, this is to check whether the correct user is online. If not (threshold for correlation 0.5 for now), logout the user - receiveKeystrokes() must be called when receiving the keystrokes, it returns a correlation which can be shown to the user (and potentially determine which user it could be otherwise) - The database must still be saved by the client ## Word completion Emiel will integrate the word completion based on the words database and display the proposed words on the screen ## Pinging Henri will change the ping message to a .ping()