# **App 1 (Sterre De Grefte, Valentine Vanckeerbergen, Maarten Vanmarcke en Rob Van Den Noortgate)** # Logboek **Week 22.11.21** * Maandag (PO sessie) Demo gegeven. Toevoegen en initialiseren van de app/App1 branch. Verdelen taken en afspraken deadlines. Opzetten basis structuur. * Woensdag Resources lezen over WebSockets. Demo bekeken over het opzetten van een signaling server. * Donderdag Eerste globale structuur van WebSockets is geïmplementeerd. De client en de server kunnen beide data verzenden. Beide kunnen de ontvangen data verwerken. **Week 29.11.21** * Maandag (PO sessie) App verder uitgewerkt en uitgelegd aan assistenten. Data-encryptie geïmplementeerd, maar is overbodig gebleken. WebRTC over twee verschillende netwerken lukt. Tunnelling geprobeerd, maar is nog niet geslaagd. Dit wordt volgende P&O-sessie verder bekeken. * Dinsdag Een bug bij de eigen implementatie van WebSocket gezocht en opgelost. * Woensdag De datastructuur achter de web socket server (wss) is geïmplementeerd met bijhorende testen. De wss zelf is ook geïmplementeerd met bijhorende testen. De message handling hiervan moet nog afgestemd worden op de mogelijke messages vanuit de webrtc functionaliteiten. * Donderdag Eerste implementatie van de client side voor de Web Socket signaling server. Deze moet nog verder uitgewerkt worden met documentatie en testen. * Vrijdag Verder implementatie afwerken van de client side voor de Web Socket signaling server. * Zaterdag Skype 17u00-18u30: Uitleg WebSocket en message handling. Verder afgesproken over de samenwerking tussen WebSocket en WebRTC. * Zondag Implementatie van de app server over https en bijhorende tests. **Week 6.12.21** * Maandag P&O-sessie: Bespreken verslag in team. Bekijken van de problemen bij de verschillende onderdelen van de app. Verder implementeren. Starten met verslag schrijven. * Dinsdag Message handling afgewerkt bij WebSocket. * Woensdag Skype 18u00 - 19u20: problemen bespreken i.v.m. code. Verslag bespreken. * Donderdag Password checking hergeïmplementeerd naar aanleiding van Skype-gesprek. Verder schrijven aan verslag. * Vrijdag Verslag volledig schrijven. * Zaterdag Verslag nalezen. * Zondag Skype 15u00-16u10: Verslag nabespreken. Verslag commentaar aanpassen. **13.12.2021** * Maandag P&O-sessie: bespreken verslag. Bugs app fixen. Bugfix afwerken * Dinsdag App verder afwerken. * Woensdag Afspraak 16u00-18u00: App testen in P&O-lokaal en bespreken demonstratie. * Vrijdag Import problemen van module qrcode-generator opgelost. # DEMO VRAGEN **Waarom gebruik je een externe server (WebSocket)?** * ICE candidates wijzigen soms -> app beter niet meerdere QR codes. **Waarom password?** Zodat url naar server niet wordt onderschept ## Takenverdeling - QR: - [X ] QR generation:generate a QR code of some data element in JSON format. -> Valentine & Sterre - [X ] QR encryption: encrypt information and generate this into a QR code with regard to some password. -> Valentine & Sterre We've worked on this task, but we changed our security mechanism, so this code will not be used in our final solution. - [X ] QR decryption: decrypt the QR code with regard to some password. -> Valentine & Sterre We've worked on this task, but we changed our security mechanism, so this code will not be used in our final solution. - [X ] QR detection: detect a QR code of a camera picture. -> Valentine & Sterre - [ ] Image Processing: process the taken picture of the QR code so the QR code can be easilydetected, e.g. adjusting the brightness and color values for easier detection of black/white tints. -> Valentine & Sterre - [X ] QR decoding: decode a QR code to a JSON formatted data element. -> Valentine & Sterre - Camera: - [ ] Opening the camera: open the camera of a mobile phone from within the app. This could also be done by just loading a picture of the QR code from within the app. The possibilitiesneed to be further examined. -> Degenen die klaar zijn - [ ] Using the camera: make a picture using the camera. -> Rob - [x] Closing the camera: close the camera if the user just wants to send audio (TODO or text-drivendata), to gain the trust of the users. -> Rob - App page: - [x] Koa: setup https-server -> Maarten - [ ] Displaying the buttons: show the correct buttons at the correct times in the process. -> Rob - [ ] Processing the buttons: assign the correct handlers to the buttons when a user clicks on one. -> Rob - WebSocket: - [x] WebSocket data generation: generate the data in JSON format needed to set up the Web-Socket connection, that will be converted to a QR code. -> Maarten - [x] WebSocket set-up: set up the WebSocket connection when the necessary data for the set-upis received. -> Maarten - [x] WebSocket data format preprocessing: convert the SDP and ICE candidates into a valid JSONformat. -> Maarten - [x] WebSocket transfer:transfer the SDP and the ICE candidates (in JSON format) over theWebSocket data channel. -> Maarten - WebRTC: - [x] WebRTC stream acquiring: acquire the data streams (audio, video and/or text-drivendata). -> Rob - [x] WebRTC offer creating: create the offer on the peer-side that showed the QR code. -> Rob - [x] WebRTC offer receiving: set the received offer on the peer-side that scanned the QR code. -> Rob - [x] WebRTC answer creating: create the answer on the peer-side that scanned the QR code. -> Rob - [x] WebRTC answer receiving: set the received offer on the peer-side that showed the QR code. -> Rob - [x] WebRTC ICE candidates: process the ICE candidates correctly. -> Rob - [X] WebRTC display: display the received media streams (audio, video and/or text) -> Rob