---
# System prepended metadata

title: Team 10 PnO

---

# P&O CW: Chatter app: Team 10



## :eight_spoked_asterisk: Project Details
- HackMD assignment semester 1: https://hackmd.io/82PjsAbcTyu-4K26Rx_2XQ
- HackMD assignment semester 2: https://hackmd.io/RWoBAcGCRaqfUdtytSbYxA
- Gitlab: https://gitlab.kuleuven.be/p-en-o-cw/2023-2024/chatter/team-10
- Overleaf verslag: https://www.overleaf.com/4125763511xyhcjskjfwjy#ccbadd
- Presentation semester 1: https://kuleuven-my.sharepoint.com/:p:/r/personal/michiel_segers_student_kuleuven_be/Documents/P%26O%20CW/eindpresentatie.pptx?d=wd8fe33e768f0424bb2d60ee1b2e72834&csf=1&web=1&e=WQ5J1J
- Taken semester 2: https://hackmd.io/6km1bLPRRZG5Jtj98kKT1w


:::success
Basic functionality:
By the end of the semester, we expect a functional chat app satisfying at least the following requirements:

- Users can sign up and log in with their account
- Users can join and leave channels
- Users can send messages in a channel
- All other members of the channel receive this message
- Graceful shutdown of the server does not result in data loss (server persistence)
:::


---
##  Chattercon
- Cognitive walkthrough for creating & deleting a channel: https://forms.gle/Cia9aU2Ujs5p6df8A
- System usability Questionaire for registration: https://forms.gle/6T5ibgQyAZtNw7hz8
##  Verdeling taken 
- [ ] Inloggen => Jonas, Beere
- [ ] Berichten kunnen sturen => Michiel C., Stefan
- [ ] databank voor berichten op te slaan => Michiel S., Lili
- [ ] verschillende channels => Yani, Senne

## :calendar: Weekly Meetings
## Semester 1
### :small_blue_diamond: Meeting 1 (notities van Lili De Bruyn)
- **Datum:** 2023/10/30 
- **Afwezig:** Stefan   
- Kennisgemaakt met teamgenoten, assignment doorgelezen en dan taken verdeeld. Taken verdeeld heeft het meeste van onze tijd gepakt omdat het nog heel onduidelijk was wie welke functionaliteit doet.

### :small_blue_diamond: Meeting 2 (notities van Senne Stans)
- **Datum:** 2023/11/06 
- **Afwezig:** /   
- Vooraf deze week: Begrijpen hoe het project inelkaar zit. Websockets begrijpen. Database gemaakt en huffman code geïmplementeerd.
- Deze week: login maken, berichten in een specifiek kanaal sturen.  
- Channels aanpak: user kunnen channel joinen dit wordt bijgehouden in database. Users kunnen maar actief zijn in 1 channel en actieve user in specifiek channel worden bijgehouden in een dictionary.

### :small_blue_diamond: Meeting 3 (notities van Michiel Cools)
- **Datum:** 2023/11/13
- **Afwezig:** /   
- Voor de meeting: De datastructuur voor de users en channels te koppelen is gemaakt. De lookup feature is klaar nog geen testen.
- Deze week: De verschillende branches van elkaar mergen zodat we verder kunnen bouwen op elkaar. lookup feature verder uitgewerkt en testen voor geschreven. Ook 2 extra features toegevoegd om niet enkel op tijd te zoeken maar ook berichten zoeken die gestuurd zijn door een bepaalde persoon en berichten zoeken die een bepaald woord bevatten.
- Er waren veel problemen met de departementale pc's waardoor de helft van het team niets kon doen.

### :small_blue_diamond: Meeting 4 (notities van Yani Vanden Branden)
- **Datum:** 2023/11/20
- **Afwezig:** /   
- Voor de meeting: Client commands klaar met unittests, een merge van login naar main, nakijken van geschreven code
- Deze week: pipeline fixen, verschillende delen mergen naar main, linter fixen
- eerste basisfunctioneel chatsysteem testen
- systeem voor purging expired accounts

### :small_blue_diamond: Meeting 5 (notities van Jonas Klingels)
- **Datum:** 2023/11/27
- **Afwezig:**  Beere (fiets kapot)
- Voor de meeting: testen geschreven, wss is afgewerkt, removeaccount afgewerkt, database testen geschreven, overleafe aangemaakt, kleine foutjes gefikst
- Deze week: message in database als bestand wordt verstuurd (bestanden worden niet bijgehouden), testen afwerken, licences.md updaten✅, chatserver testen aanpassen, aan verslag schrijven, gdpr regels -> akkoord geven bij register(beere), waarschuwing voor het vervallen van account(beere)
- verslag:    
- het verslag proberen afwerken voor volgende week maandag   
            - foto trekken, iedereen schatting van uren maken   
            - description app (halve p) (Michiel Cools)   
            - overview process (senne)+ demo (readme file + tag)   
            - technical description features: (2 halve paginas) (login feature ->beere)( channel feature -> senne)   
            - evaluation teamwork :🙅    
                                    -dividing of the tasks (naam voor features + start en einddatum aan geven 3/4 ve pagina, kijk met data van branches)  (Jonas, iemand van channels en messages nog hun deel schrijven want ik weet niet genoeg hoe dit verder opgedeeld werd)   
                                    - testing (volledige pagina)(Michiel Segers)   
            - improvements (hypotetische verbeteringen halve pagina)(Jonas)✅    
            - Conclusion (kwart pagina)   
            - appendix: git (halve pagina)   



### :small_blue_diamond: Meeting 6 (notities van Beere Rits)
- **Datum:** 2023/12/04
- **Afwezig:** /
- Voor de meeting: file sharing (behalve linter), channel descriptie, active users, /close commando, aanpassingen lookup, extra testen voor client commands, klad versie verslag 
- Deze week: alle branches mergen of weggooien, kleine aanpassingen, finishing touches verslag, team foto, presentatie
## Semester 2
### :small_blue_diamond: Meeting 7 (notities van Stefan Markovsky)
- **Datum:** 2024/02/13
- **Afwezig:** /
- Voor de meeting: 
    - opdracht nog lezen en goed doornemen door iedereen.  
    - Michiel S, Jonas schrijven het verslag 
    - Michiel C, Beere, Senne, Jani, Stefan, Lili doen planning voor het semester.
- Deze week:
    - semester 1 opgaves afkrijgen 
        - File Sharing: Server saves file, client command (Stefan)
        - DataBase Clean-up: file deletion from server when user leaves (Lili) 
        - message lookup: History show n previous messages (Not the whole conv) (Beere)
        - code cleanup + documentation (Everyone)
        - Database persistence (Michiel S. + Lili + Yani)

### :small_blue_diamond: Meeting 8 (notities van Michiel Cools)
- **Datum:** 2024/02/20
- **Afwezig:** /
- Vorige week: 
    - Verder aan het verslag gewerkt.
    - Code cleanup
    - Wijzigingen aan database
- Deze week:
    - Verslag nalezen en herwerken (Iedereen).
    - Testen betrouwbaarder maken (Michiel C.) :heavy_check_mark:
    - File Sharing (Stefan)
    - Beginnen met encryption (Beere + Jonas)
    - Database lookup (Lili + Michiel S.)
    - Gui beginselen (Yani + Senne)

### :small_blue_diamond: Meeting 9 (notities van Jonas Klingels)
- **Datum:** 2024/02/27
- **Afwezig:** Lili dokter, dus komt later aan/
- Vorige week: 
    -  Lookup commandos zijn aangepast, lookup word is 3x sneller
    -  Stefan functionaliteit van opslagen files afgemaakt, kleine bug aanpassen, UI is nog lelijk
    -  Research naar opdracht tweede semester
    -  UI veel research naar gebeurd, veel op gesukkeld
- Deze week:
    - Michiel S gaat kijken naar lookup time met lili
    - Michiel C gaat verder werken aan internet connectie
    - Stefan schrijft testen voor opslagen bestanden
    - Beere en Jonas werken research naar encryption af en beginnen te integreren
    - Senne en Yani werken verder aan GUI
    - Sessie om 16u15 over user experience voor iedereen
  
 

   ### :small_blue_diamond: Meeting 10 (notities van Yani Vanden Branden)
- **Datum:** 2024/03/05
- **Afwezig:** Stefan, komt later aan
- Vorige week: 
    -  Beere begonnen aan local key storing
- Deze week:
    - Beere/Jonas werken verder aan local key storage
    - Lili/Michiel S. werken verder aan look up search algoritmes
    - Michiel C. knutselt verder aan de local tunnel 
    - Stefan verbetert file sharing en compressie
    - Senne/Yani designen de gui verder
     ### :small_blue_diamond: Meeting 11 (notities van Jonas Klingels)
- **Datum:** 2024/03/12
- **Afwezig:** 
- Vorige week: 
    -  Senne: login afgemaakt GUI
- Deze week:
    - Lili en Michiel S werken verder aan lookup time
    - Beere en Jonas werken verder aan encryptie
    - Yani en Senne werken verder aan GUI, kiezen 2 features voor de chattercon
    - Stefan efficiente compression verder werken
    - Michiel C laatste kleine dingen voor over internet, is bijna klaar


### :small_blue_diamond: Meeting 12 (notities van Lili De Bruyn)
- **Datum:** 2024/03/19
- **Afwezig:** 
- Vorige week: 
    -  Senne & Yani: heel veel gedaan aan GUI: beginscherm, login, tussenscherm, actions, lijst van channels, lijst van users
- Deze week:
    - chattercon: nog bugfixes. 2 features: delete & register
    - kijken naar slides van die gastlezing over user experience
    - Lili: Benchmarken van lookuptime & google forms om gebruikersacties methodologisch te testen
    - Beere en Jonas werken verder aan encryptie
    - Stefan: transmissie
    - Michiel: certificaten voor localtunnel afgemaakt!


### :small_blue_diamond: Meeting 13 (notities van Beere Rits)
- **Datum:** 2024/04/16
- **Afwezig:** 
- Vorige week: 
    -  Vakantie:
        -  Beere en Jonas: Bijna klaar met sessions
        -  Yani en Senne: Major bugfixen in gui en extra gui features
- Deze week:
    - Lili en Michiel: Gegevens chattercon verwerken.
    - Beere en Jonas: Hopelijk klaar met sessions
    - Stefan (hulp Michiel): Normaal klaar met filesharing na deze week
    - Yani en Senne: Gui bugfixen en uitbreiden


### :small_blue_diamond: Meeting 14 (notities van Jonas Klingels)
- **Datum:** 2024/04/23
- **Afwezig:** 
- Vorige week: 
    - Senne en Yani: veel bugfixing omtrent UI
    - Stefan: heeft interface van compressiealgoritme afgemaakt en benchmarks beginnen maken
- Deze week:
    - Lili en Michiel C: verslag 
    - Beere en Jonas: Hopelijk klaar met decryption
    - Stefan : Benchmarks 
    - Yani en Senne: UI verder 
    - Michiel S:  testen van UI 

### :small_blue_diamond: Meeting 15 (notities van Lili De Bruyn)
- **Datum:** 2024/04/30
- **Afwezig:** 
- Vorige week: 
    - Jonas: private channels gefixt
    - Yani: 1 UI bug gefixt
    - Senne: meerdere UI bugs gefixt 
    - Stefan: benchmark van file sharing
    - Michiel S.: Lempel-ziv aangepast
- Deze week:
    - Lili,Michiel C. & Jonas: Verslag + eerste vorm presentatie
    - Senne,Yani & Beere: werken samen om UI af te krijgen
    - Michiel S.: verslag & Huffman
    - Stefan: Huffman verbeteren
### :small_blue_diamond: Meeting 16 (notities van Jonas Klingels)
- **Datum:** 2024/05/07
- **Afwezig:** 
- Vorige week: 
    - Iedereen: verslag
    - Michiel S en Stefan: lempel ziv verbeterd
    - Yani en Senne: Gui verbeterd: offline users + file sharing
- Deze week:
    - Senne en Yani: mergen met main
    - Lili maakt readme
    - Verslag nalezen
    - Presentatie afmaken (volgende week dinsdag)
    - --> Gui heeft ook slides nodig (eerst hun slides), dan demo, dan rest van technische info (lempelziv, encryption,)
        - Inleiding  1min 
        - Gui  + demo 13 min
        - lookup functions 3min
        - encryption 5 min
        - file sharing 4 min
        - extra features + future improvements 3min
        - Conclusie 1 min
    - Blessed automatisch installen
    - Lili reserveert lokaal
    
-Volgende week maandag: 21u presentatie oefenen !!!