Permalänk

Blazor Wasm-uppgift

Halloj!

Läser för tillfället .NET på YH och har fått en kompletteringsuppgift i OOP2 och jag känner att jag kört fast helt. Uppgiften måste göras i Blazor wasm, inloggningsdelen är lugnt iochmed det ingår i VS template men själva bokningsdelen begriper jag inte hur jag ska gå tillväga med.

  • Användare ska kunna skapa en användare med Identity för att hyra självkörande bilar.

  • Client-projektet anropar controllers i Server-projektet endast med hjälp av HttpClient, controllerna hämtar sedan data från en SQL-databas. Ingen koppling till SQL-databasen ska finnas i client-projektet.

  • Det ska finnas ett visst antal självkörande bilar som är tillgängliga.

  • Man ska kunna välja att hyra en bil i upp till och med en vecka, och som minst en dag.
    Bilar ska hyras i hela dagar.

  • Om alla bilar är upptagna under en dag ska det inte gå att hyra någon bil den dagen.

  • Man ska tydligt se hur många bilar som är bokade varje dag i en vecka framöver.

  • Man ska tydligt se pris för att hyra en bil man är intresserad av innan man
    konfirmerar att hyra den.

  • Det ska vara olika pris beroende på hur många dagar man vill hyra.

  • Man ska kunna ta bort en bokning man själv gjort (dock senast 24 timmar innan).

  • Authoriza varje call till API:t med en sträng “token” som sparas på klientsidan
    (med t.ex. Blazored LocalStorage - ett enkelt och smidigt NuGet package) så att
    endast users med en token kan komma åt datan i databasen (se bokade bilar,
    boka bilar o.s.v.)

Hur hade ni gjort? All hjälp hade varit mycket uppskattad.

Permalänk
Medlem
Skrivet av olofmando:

Halloj!

Läser för tillfället .NET på YH och har fått en kompletteringsuppgift i OOP2 och jag känner att jag kört fast helt. Uppgiften måste göras i Blazor wasm, inloggningsdelen är lugnt iochmed det ingår i VS template men själva bokningsdelen begriper jag inte hur jag ska gå tillväga med.

  • Användare ska kunna skapa en användare med Identity för att hyra självkörande bilar.

  • Client-projektet anropar controllers i Server-projektet endast med hjälp av HttpClient, controllerna hämtar sedan data från en SQL-databas. Ingen koppling till SQL-databasen ska finnas i client-projektet.

  • Det ska finnas ett visst antal självkörande bilar som är tillgängliga.

  • Man ska kunna välja att hyra en bil i upp till och med en vecka, och som minst en dag.
    Bilar ska hyras i hela dagar.

  • Om alla bilar är upptagna under en dag ska det inte gå att hyra någon bil den dagen.

  • Man ska tydligt se hur många bilar som är bokade varje dag i en vecka framöver.

  • Man ska tydligt se pris för att hyra en bil man är intresserad av innan man
    konfirmerar att hyra den.

  • Det ska vara olika pris beroende på hur många dagar man vill hyra.

  • Man ska kunna ta bort en bokning man själv gjort (dock senast 24 timmar innan).

  • Authoriza varje call till API:t med en sträng “token” som sparas på klientsidan
    (med t.ex. Blazored LocalStorage - ett enkelt och smidigt NuGet package) så att
    endast users med en token kan komma åt datan i databasen (se bokade bilar,
    boka bilar o.s.v.)

Hur hade ni gjort? All hjälp hade varit mycket uppskattad.

Har ni arbetat något alls med Blazor eller är hela konceptet nytt? Kraven är väl rätt straight forward. Du kan antingen börja modellera databasen med EF Core och bygga apiet eller så kan du göra designen i frontend med mockad data.

Permalänk
Medlem

Jag kan inget Blazor men jag förstår inte heller riktigt vad du behöver hjälp med. Har du gjort någonting eller har du inte ens startat programmet? Man måste förklara tydligt exakt vad man sitter fast på.

Permalänk
Medlem

Jag antar att ni gått igenom koncepten eller har kurslitteratur, alternativt ska lösa det med självstudier.

Det fanns ju några koncept som det bara är att googla på.

"Identity", "token", "Controllers / Api", "Databas/SQL", efter det är det business logic som inte verkar jättesvår om ni har kodat lite innan.

Permalänk

Sorry för luddig/dålig förklaring. Det är själva kontrollen/metoden för att skapa bokning av bilarna jag inte riktigt graspar. Jag kollade först på massa fräsiga kalender-komponenter men ev blir det bara overkill. Jag tänker att det borde räcka med ett enkelt forms-formulär där man väljer bil ur dropdown-lista sen två datetime-element som har inbyggda kraven ovan. Sen borde bil + datetime start + datetime end bakas ihop till en booking som bindas och skickas till databasen. Det känns som tänket är korrekt(?) + En liten uträkning som visar rätt pris beroende på antal dagar.

För att förhindra att andra bokar över andras bokningar borde det räcka med en bool IsBooked som stoppar andra users från att validera sin bokning?

Permalänk
Medlem
Skrivet av olofmando:

Sorry för luddig/dålig förklaring. Det är själva kontrollen/metoden för att skapa bokning av bilarna jag inte riktigt graspar. Jag kollade först på massa fräsiga kalender-komponenter men ev blir det bara overkill. Jag tänker att det borde räcka med ett enkelt forms-formulär där man väljer bil ur dropdown-lista sen två datetime-element som har inbyggda kraven ovan. Sen borde bil + datetime start + datetime end bakas ihop till en booking som bindas och skickas till databasen. Det känns som tänket är korrekt(?) + En liten uträkning som visar rätt pris beroende på antal dagar.

För att förhindra att andra bokar över andras bokningar borde det räcka med en bool IsBooked som stoppar andra users från att validera sin bokning?

Varje bil bör väl ha en lista av bokningar med from-to datum om man ska kunna boka längre fram i tiden (som du sa)? Dvs IsBooked visar väl bara om den är bokad nu och inte tre dagar framåt?