Skip to content

Commit

Permalink
Merge pull request #695 from Czechitas-podklady-WEB/694-doplnění-zadá…
Browse files Browse the repository at this point in the history
…ní-pro-hotel-stříbrava

Doplnění zadání Hotel Stříbrava
  • Loading branch information
podlomar authored Nov 17, 2023
2 parents cb6f426 + 722b549 commit 1e8fead
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 5 deletions.
18 changes: 15 additions & 3 deletions daweb/react/stribrava-1/mentor.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ Projekt si rozdělíme do několika částí:

## Celková cena poptávky

TODO
Jelikož je potřeba celkovou cenu poptávky spočítat po každé změně stavu, můžete si založit proměnnou přímo v těle komponenty a spočítat do ní výslednou cenu podle toho, co je uloženo ve stavech. Pokud chcete mít výpočet oddělený od komponenty, můžete si vytvořit pomocnou funkci, která bude mít jako parametry stavy a vrátí výslednou cenu.

Pro zjištění ceny je důležié nejprve spočítat počet strávených nocí. K tomu použijte knihovnu [Day.js](https://day.js.org/). Tuto knihovnu už jste mohli vidět na začátku výuky JavaScriptu. Bude potřeba ji do vašeho projektu nainstalovat. V dokumentaci pak najdete [příklady](https://day.js.org/docs/en/display/difference) pro výpočet rozdílu mezi dvěma daty.

## API pro administraci

Expand All @@ -49,9 +51,19 @@ Nyní si rozmyslete, jak bude fungovat administrace.

Nyní přichází zajimavá část, kdy budeme chtít označovat poptávky jako vyřízené nebo zamítnuté. Při kliknutí na tlačíko pro označení poptávky jako vyřízené nebo zamítnuté je potřeba odeslat na API dotaz PATCH, abychom změnili fázi poptávky a hned po jeho dokončení znovu načíst filtrovaný seznam poptávek, aby se komponenta zobrazující seznam poptávek překreslila.

TODO
Server `jsonhost` používá pro aktualizaci záznamu v kolekci metodu PATCH. Do těla požadavku se vkládá objekt, který popisuje, jak se má záznam změnit. V našem případě chceme změnit pouze fázi poptávky. V těle požadavku tedy pošleme objekt, který bude vypadat například takto:

```json
[
{
"op": "replace",
"path": "/phase",
"value": "confirmed"
}
]
```

1. Naprogramujte označování poptávek a ověřte, že administrace funguje.
Naprogramujte označování poptávek a ověřte, že administrace funguje.

## Formulář pro odesílání poptávek

Expand Down
13 changes: 11 additions & 2 deletions daweb/react/stribrava-1/zadani.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Zadání od zákazníka
## Zadání od zákazníka

Vážení vývojáři, jsme moc rádi, že se chcete ujmout našeho projektu. Jsme rodinná firma, která provozuje malý hotel na břehu řeky Stříbravy. Hotel jsme z velmi zanedbaného stavu po původním majiteli vlastními silami zrekonstruovali a potřebovali bychom pro něj webové stránky.

Expand All @@ -8,6 +8,15 @@ Jelikož jsme většinu financí věnovali do rekonstrukce, můžeme si dovolit
- přistýlku pro dítě,
- bezbariérový přístup.

Chtělii bychom, aby návštěvník stránek během vyplňování formuláře viděl, jak se mění celková cena jeho poptávky. Výsledná cena se skládá z:

- cena za pokoj za noc × počet nocí × počet osob,
- cena za snídani/polopenzi/plnou penzi × počet osob × počet dní,
- za přistýlku pro dítě se počítá polovina celkové ceny za pokoj,
- za domácího mazlíčka se počítá čtvrtina celkové ceny za pokoj.

## Administrace

Jelikož nemáme dostatek financí na plnohodnotný rezervační systém, chceme zatím pouze, aby se po odeslání formuláře zobrazilo potvrzení o úspěšném odeslání a naše recepční Andulka se poté s klientem spojí telefonicky nebo e-mailem a domluví se s ním, zda máme zrovna volnou kapacitu.

Z tohoto důvodu bychom chtěli jednoduché administrační rozhraní, které si může naše recepční otevřít a vidět v něm seznam všech poptávek, které nám přišly. Měla by mít možnost v poptávce vidět všechny důležité informace o klientovi a také možnost poptávku označit jako pozitivně či negativně vyřízenou. Stačí nám, když na stránce bude vidět jednoduchý seznam poptávek seřazený od nejstarších po nejnovější.
Expand All @@ -18,4 +27,4 @@ Jelikož zatím máme pouze jednu recepční, není potřeba, aby admninistrace

Přítel naší recepční Roman je talentovaný grafik a navrhl pro nás design hlavní stránky. Návrh vzhledu administrace nám zatím neposlal, ale ten pro nás není tolik důležitý. Hlavní je, aby administrace byla přehledná a funkční. Zároveň nám doporučil zakoupit jednoduchou šablonu, podle které design dělal. Doufáme, že vám takto usnadníme práci na vzhledu stránek.

Design od Romana najdete v repozitáři [stribrava-design](https://github.com/Czechitas-podklady-WEB/stribrava-zadani). My úplně nevíme, co to je repozitář, ale Roman říkal, že vy budete vědět. Zároveň také posílá odkaz na [šablonu](https://github.com/Czechitas-podklady-WEB/stribrava-sablona), která by vám prý měla usnadnit práci.
Design od Romana najdete v repozitáři [stribrava-design](https://github.com/Czechitas-podklady-WEB/stribrava-zadani). My úplně nevíme, co to je repozitář, ale Roman říkal, že vy budete vědět. Zároveň také posílá odkaz na výše zmíněnou [šablonu](https://github.com/Czechitas-podklady-WEB/stribrava-sablona).

0 comments on commit 1e8fead

Please sign in to comment.