Code Monkey home page Code Monkey logo

roomreservations's Introduction

Projekt „RoomReservations”

Strona do rezerwacji pokoi hotelowych zaprezentowana na przykładzie fikcyjnego hotelu "Kaktus Hotel".

Interfejs dla Klienta:

  • Goście mają dostęp do intuicyjnego interfejsu, gdzie mogą przeglądać ofertę pokoi, sprawdzać ich wyposażenie, ceny i dostępność.
  • Mogą dokonywać rezerwacji online, wybierając preferowane daty i opcje.
  • Mogą również samodzielnie przedłużyć swój pobyt, jeżeli pozwala na to dostępności pokoi.

Interfejs dla Recepcjonisty:

  • Recepcjonista ma dostęp do panelu administracyjnego, gdzie może zarządzać rezerwacjami.
  • Może sprawdzać dostępność pokoi, tworzyć nowe rezerwacje, modyfikować istniejące oraz anulować rezerwacje.

Interfejs dla Innych Pracowników Hotelu:

  • Inni pracownicy, tak jak sprzątacz, również mogą korzystać z systemu, aby wiedzieć, które pokoje należy przygotować lub posprzątać.

Autorzy

  • Frankiewicz Przemysław
  • Niewczas Piotr

Zrzuty ekranu

Strona główna

strona główna

Lista pokoi

Lista pokoi

Tworzenie rezerwacji

Tworzenie rezerwacji

Uruchamianie

Wystarczy uruchomić ‘RoomReservations.exe’ i wpisać w przeglądarce adres ‘localhost’. Aplikację można wyłączyć przytrzymując ’CTRL-C’ w konsoli.

Należy zwrócić uwagę, aby w tym samym katalogu znajdował się plik ‘hotel.db’ z bazą danych.

Domyślny port aplikacji z portu 80 można zmienić na dowolny w pliku ‘appsettings.json’.

Domyślne konta użytkowników

Email Hasło Rola
[email protected] Client123# Klient hotelu
[email protected] Receptionist123# Recepcjonista
[email protected] Employee123# Inny pracownik hotelu
[email protected] Admin123# Administrator systemu

Zastosowane technologie

  • ASP.NET Core 8.0
  • Entity Framework
  • Identity Framework
  • Blazor
  • MudBlazor

Źródła

Obrazy, opisy pokoi, oraz strona główna zostały wygenerowane za pomocą usługi Microsoft Copilot https://www.bing.com/chat

roomreservations's People

Contributors

piotr-niewczas avatar slashlogin avatar

Stargazers

FakeDeveloperPL avatar Kamil Zych avatar

Watchers

 avatar

Forkers

slashlogin

roomreservations's Issues

Ograniczenia na edycję / przedłużanie pobytu

klient:

  • nie zezwalaj na odwołanie rezerwacji na 7 dni przed rozpoczęciem
  • po rozpoczęciu się rezerwacji, lub 7 dni przed, może tylko przesuwać datę końca rezerwacji w przyszłość
    • nie zezwalaj na przedłużenie niezapłaconej rezerwacji
  • interfejs pokazuje maksymalną datę, do której jego zestaw pokoi jest dostępny

recepcjonista:

  • może edytować również datę rozpoczęcia w przyszłość
    • może edytować nieopłacone rezerwacje
  • interface pokazuje minimalną i max datę na podstawie dostępności pokoi

unhandled exception when trying to edit non existing reservation

`
System.Linq.ThrowHelper.ThrowNoElementsException()
InvalidOperationException: Sequence contains no elements

System.Linq.ThrowHelper.ThrowNoElementsException()
System.Linq.Enumerable.First<TSource>(IEnumerable<TSource> source)
RoomReservations.Components.Pages.EditReservation.OnInitializedAsync() in EditReservation.razor

        _reservationToEdit = ReservationService.CreateReservationQuery().WhereId(Id).WithRooms().ToListAsync().Result.First();

`

Można zmienić datę rezerwacji, na termin, w którym wybrany pokój nie jest dostępny.

Podczas tworzenia nowej rezerwacji, po wybraniu pokoju, można dokonać zmiany daty rezerwacji na datę, w której owy pokój już jest zajęty. Następnie podczas zatwierdzenia rezerwacji wyświetlony zostanie błąd. Po zmianie daty rezerwacji aplikacja powinna sprawdzać, czy dany pokój dalej jest dostępny w nowym terminie i powiadomić o tym użytkownika komunikatem. Można rozważyć opcję automatycznego usunięcia takiego pokoju.

Można zarezerwować pokój na jeden dzień za 0 zł

Możliwe jest stworzenie rezerwacji, która kończy się i zaczyna w tym samym dniu, co powoduje, że dana rezerwacja kosztuje 0 zł. Myślę, że oczekiwanym zachowaniem by było liczenie opłat według spędzonych dni w danym pokoju.
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.