HotelReservationSystem to aplikacja ASP.NET Core (net8.0) do zarządzania rezerwacjami hotelowymi. Projekt stosuje CQRS, EF Core oraz wydzielone warstwy: domenę, logikę aplikacyjną, infrastrukturę i warstwę webową.
Główne moduły:
HotelReservationSystem.Core— model domenowy i interfejsyHotelReservationSystem.Application— logika aplikacyjna, komendy/handlery, serwis StripeHotelReservationSystem.Infrastructure— repozytoria, migracje EF, integracje z zewnętrznymi serwisamiHotelReservationSystem.Web— interfejs użytkownika (MVC/Razor), API i webhookiHotelReservationSystem.Workers— zadania tła (kolejki, przetwarzanie asynchroniczne)
- Obsługa rezerwacji: formularze, kody rabatowe, uwagi, zgoda na przetwarzanie danych
- Zarządzanie gośćmi i pokojami
- Integracja z Stripe (sesje/PaymentIntent, webhooki)
- Mechanizm CQRS + background processing dla operacji długotrwałych
- .NET 8 SDK
- SQL Server (lub inny provider ustawiony w
appsettings.json) - Konto Stripe (klucze API)
Konfiguracja znajduje się w appsettings.json / appsettings.Development.json lub w zmiennych środowiskowych. Wrażliwe wartości nie powinny być śledzone w repozytorium.
Najważniejsze klucze:
ConnectionStrings:DefaultStripe:SecretKey,Stripe:PublishableKey,Stripe:WebhookSecret
- Przywróć zależności i zbuduj rozwiązanie:
dotnet restore "HotelReservationSystem/HotelReservationSystem.sln"
dotnet build "HotelReservationSystem/HotelReservationSystem.sln" -clp:Summary- Zastosuj migracje EF:
dotnet ef database update --project HotelReservationSystem/HotelReservationSystem.Infrastructure --startup-project HotelReservationSystem/HotelReservationSystem.Web- Uruchom aplikację Web:
dotnet run --project HotelReservationSystem/HotelReservationSystem.Web- Uruchom testy:
dotnet test HotelReservationSystem/HotelReservationSystem.Tests/HotelReservationSystem.Tests.csproj