# App 1: WebRTC en Rest (Charles, Marie, Tim, Karam) ###### tags: `Semester1` ## Beschrijving van de app ### 1st idea Privacy-minded, webbased communication app Soort discord (web-based). See use cases on github or https://hackmd.io/zF1o4_TuT46DcathwDFwCA. * M0: - hoe testen schrijven? (leren werken met wdio) NOOPE! niet wdio gebruiken, een e2e testing, alleen kleine units tests using supertest (?) - taken precies bepalen - minimale testen schrijven voor elke taak... * M1: REST gebruiken om SDP's en candidates te sturen - koa & webRTC: script laden - reload om de 10 sec - audio tegelijk aanzetten , beide richtingen --> OK! polite zet zijn stream in zijn answer SDP (dus impolite moet de SDP offer sturen) - REST datasctructure aanpassen om SDP kunnen opslaan + routes - REST incorporeren in webRTC * M2: fancy webpage * M3: message-board toe voegen * M4: permanent data-base toevoegen * M5: usernames bewaren (+ polite/impolite bepalen ifv username/address/...) ? calls kunnen plannen (rdv zetten in kalender, andere user can confirm of niet) ? call kunnen doen met of zonder account (evt privacy probleem) ### 2nd idea Netflix 2.0 * database met films die je kan bekijken ### 3rd idea * Virtuele bioscoop ### Ander voorbeeld All kinds of files sharen: http://cend.me/ ### Keuze Eerste idee lijkt best, we gaan voor de naam **postduif**: - goede mascotte - historisch belangrijk communicatiemiddel Bekijk dit voorbeeld: https://appr.tc/ (Dit lijkt heel erg op een implementatie van M1...) <!-- ## Implementatie * Sequence diagram https://mermaid-js.github.io/mermaid/#/sequenceDiagram voor documentatie ```mermaid sequenceDiagram actor A as Bob actor B as REST API actor C as Marie A->>B: GET index.html (statisch) B->>A: index.html (laadt ook scripts) A->>B: POST room/{roomID} A->>B: GET room/{roomID} B->>A: room.html (gegenereerd met roomID) Note over A,B: room.html laadt nu ook room.js, dat automatisch pollt: loop poll every 10s A->>B: GET data/{roomID}&username(?)... B->>A: data.json end C->>B: GET index.html B->>C: index.html C->>B: PUT room/{roomID} ``` --> ## Log file - Labozitting 22-11-2021: - Vastleggen doelen van de app - Initialiseren project structure - Rest van de week: - wdio aan de praat krijgen + testen proberen runnen (veel opzoekwerk vooral) (Marie en Charles) - nadenken over data structuur en routes (Tim) - logo maken (Karam) - Labozitting 29-11-2021: - wdio verder - Openen van een webpage controleren is OK - use cases verder bepalen - toevoegen logo postduif (Karam) - Rest van de week: - start implementing server (Tim) - start implementing clientside functionality (Charles) - introduce bootstrap to make better html (Karam) - Labozitting 06-12-2021: - E2E proberen tot de prof zegt dat het te moeilijk is (Charles / Marie) - structuur van routes en sequence diagrams vastleggen adh van whiteboard (Charles, Karam, Tim) - set up van basis structuur branch app/webRTC (Marie / Charles) - use cases (Marie) - Rest van de week: - implementeer rooms (Tim) - REST routes - form om room te maken/joinen + functionaliteit - app/webRTC branch verder (Marie & Charles) - nieuwe REST routes aanmaken - data structuur sterk updaten - verander the basis structuur om met de 'externe' data structuur te werken - beginnen report (Marie & Charles) - branch app/reloadProblem (Marie) - chat - implementatie functionalities (Charles & Karam) - tests (Charles) - data structuur terug wijzigen (Charles) - HTML design (Karam) - sort alghorithm (quicksort for alphabetically sorting) + schrijven van tests ervoor (Charles) - fancy webPage (Karam) - Labozitting 13-12-2021: - report (allemaal) - laatste aanpassingen code (zie branch bugfixes) (Tim & Karam) - werk use cases af (Marie) - localtunneling (Charles) - mermaid sequence diagram for usecases (Charles) ## TO DO Milestones 4 en 5 niet gehaald