You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Backenden ska byggas med hjälp av Node och Socket.io
Här klarar du dig gott med bara node och socket.io-paketet, så skulle du vilja använda ytterligare paket för att lösa det är det fritt fram. Men viktigt att komma ihåg: Det är genom socket.io servern och klienten ska kommunicera.
Den ska ha en tillhörande frontend
Du behöver alltså skapa en tillhörande frontend som ska ha stöd för dessa funktioner, den ska stödja möjligheten att skapa, skriva i flera rum och ta bort dessa i frontenden. Viktigt även här att kommunikationen mellan klient och server sker med socket.io-client
Den ska spara meddelande och rum långsiktigt, i en databas
Valet av databas är frivilligt, men jag skulle rekommendera att använda sqlite3. Skulle du välja att använda en annan databas, måste du inkludera instruktioner och anslutningsuppgifter för denna databas. Dessa kan du skicka i samband med inlämningen
Den ska ha stöd för flera chatt-rum
Man ska alltså kunna skapa och ha flera separata chatt-rum samtidigt.
Man ska kunna skapa och ta bort chattrum
Tror denna är tydlig nog :)
När man tar bort ett chattrum ska även dess meddelande tas bort
Om du skulle ta bort ett chattrum, vill jag även att dess meddelande ska tas bort. Du behöver alltså ta bort både rum och meddelande från databasen när ett rum tas bort. Här skulle du kunna nyttja styrkan av relationer (och ON DELETE CASCADE) mellan två tabeller.
Chattrum som skapas ska ha unika namn
Du behöver se till så två rum inte kan ha identiska namn, exempelvis genom att kolla om det finns innan du skapar det.
Varje meddelande ska ha info om vem som skrev det och när
I ett meddelande behöver du alltså ha både name och en tidsstämpel på när det skrevs. Ex:
{name: "Oscar",timestamp: "20-06-22 12:51"// (bör vara en date-sträng)}
Den ska innehålla en middleware som sparar loggar med relevant info i en eller enskilda filer (tidsstämpel, vem som skrev det, i vilken kanal)
Här är det lättast att skriva sin egen, men du kan även använda 3e parts-paket om du hittar ett lämpligt sådant. Det behöver innehålla en tidsstämpel, namn och vilken kanal de skrev i.
Den ska validera meddelande på backenden så att en användare inte kan skicka ett tomt meddelande
Du behöver se till så man inte kan skicka ett tomt meddelande, genom att validera datan du får från klienten.
Väl godkänt (minst 3)
Klienten ska visa alla användare som är aktiva i chatten/rummet
En lista på användare som har en aktiv anslutning och är med i det rummet
När någon skriver ska det finnas någon form av indikator att någon håller på att skriva ett meddelande (ex. “... skriver just nu”)
Du behöver berätta för alla användare i det rummet där det skrivs, att någon skriver ett meddelande - t.ex. när de skriver något i input-fältet så ska de andra användarna kunna se det.
Det ska finnas stöd för att skapa ett låst rum som kräver lösenord
Man ska kunna skapa ett rum som är lösenordsskyddat, så när du försöker ansluta till det så behöver du ange just det lösenordet.
Man ska inte kunna ta bort ett lösenordsskyddat rum utan lösenordet
Hör ihop med föregående, du behöver ha och ange lösenordet för att kunna ta bort ett lösenordsskyddat rum.
Det ska finnas stöd för att skicka direktmeddelande till andra användare
På samma sätt som vi har rum, så vill jag att man ska kunna skriva direkt till andra användare.
Det ska finnas stöd för att skicka emojis i meddelanden
Stöds emojis rakt upp och ner en sträng eller behöver du hantera det på något specifikt sätt?
The text was updated successfully, but these errors were encountered:
Godkänt
Backenden ska byggas med hjälp av Node och Socket.io
Här klarar du dig gott med bara node och socket.io-paketet, så skulle du vilja använda ytterligare paket för att lösa det är det fritt fram. Men viktigt att komma ihåg: Det är genom socket.io servern och klienten ska kommunicera.
Den ska ha en tillhörande frontend
Du behöver alltså skapa en tillhörande frontend som ska ha stöd för dessa funktioner, den ska stödja möjligheten att skapa, skriva i flera rum och ta bort dessa i frontenden. Viktigt även här att kommunikationen mellan klient och server sker med socket.io-client
Den ska spara meddelande och rum långsiktigt, i en databas
Valet av databas är frivilligt, men jag skulle rekommendera att använda sqlite3. Skulle du välja att använda en annan databas, måste du inkludera instruktioner och anslutningsuppgifter för denna databas. Dessa kan du skicka i samband med inlämningen
Den ska ha stöd för flera chatt-rum
Man ska alltså kunna skapa och ha flera separata chatt-rum samtidigt.
Man ska kunna skapa och ta bort chattrum
Tror denna är tydlig nog :)
När man tar bort ett chattrum ska även dess meddelande tas bort
Om du skulle ta bort ett chattrum, vill jag även att dess meddelande ska tas bort. Du behöver alltså ta bort både rum och meddelande från databasen när ett rum tas bort. Här skulle du kunna nyttja styrkan av relationer (och
ON DELETE CASCADE
) mellan två tabeller.Chattrum som skapas ska ha unika namn
Du behöver se till så två rum inte kan ha identiska namn, exempelvis genom att kolla om det finns innan du skapar det.
Varje meddelande ska ha info om vem som skrev det och när
I ett meddelande behöver du alltså ha både
name
och en tidsstämpel på när det skrevs. Ex:Den ska innehålla en middleware som sparar loggar med relevant info i en eller enskilda filer (tidsstämpel, vem som skrev det, i vilken kanal)
Här är det lättast att skriva sin egen, men du kan även använda 3e parts-paket om du hittar ett lämpligt sådant. Det behöver innehålla en tidsstämpel, namn och vilken kanal de skrev i.
Den ska validera meddelande på backenden så att en användare inte kan skicka ett tomt meddelande
Du behöver se till så man inte kan skicka ett tomt meddelande, genom att validera datan du får från klienten.
Väl godkänt (minst 3)
Klienten ska visa alla användare som är aktiva i chatten/rummet
En lista på användare som har en aktiv anslutning och är med i det rummet
När någon skriver ska det finnas någon form av indikator att någon håller på att skriva ett meddelande (ex. “... skriver just nu”)
Du behöver berätta för alla användare i det rummet där det skrivs, att någon skriver ett meddelande - t.ex. när de skriver något i input-fältet så ska de andra användarna kunna se det.
Det ska finnas stöd för att skapa ett låst rum som kräver lösenord
Man ska kunna skapa ett rum som är lösenordsskyddat, så när du försöker ansluta till det så behöver du ange just det lösenordet.
Man ska inte kunna ta bort ett lösenordsskyddat rum utan lösenordet
Hör ihop med föregående, du behöver ha och ange lösenordet för att kunna ta bort ett lösenordsskyddat rum.
Det ska finnas stöd för att skicka direktmeddelande till andra användare
På samma sätt som vi har rum, så vill jag att man ska kunna skriva direkt till andra användare.
Det ska finnas stöd för att skicka emojis i meddelanden
Stöds emojis rakt upp och ner en sträng eller behöver du hantera det på något specifikt sätt?
The text was updated successfully, but these errors were encountered: