SportRental
Enterprise-grade platforma SaaS do wypożyczania sprzętu sportowego z architekturą multi-tenant
Przegląd projektu
SportRental to kompletna platforma SaaS dla wypożyczalni sprzętu sportowego (narty, rowery, sprzęt wodny). System składa się z 11 projektów w solucji, obsługuje wielu tenantów (wypożyczalni) z pełną izolacją danych. Architektura hybrydowa: Blazor Server dla panelu admina + Blazor WASM dla aplikacji klienckiej. Integracje: Stripe (płatności z depozytami), QuestPDF (umowy), SMSAPI.pl (powiadomienia SMS), Azure Blob Storage (pliki). Projekt zawiera 356 testów automatycznych i ~50,000 linii kodu.
Wyzwanie
Wypożyczalnie sprzętu sportowego potrzebują centralnego systemu zarządzania produktami, klientami i wypożyczeniami z obsługą płatności online (w tym depozytów/kaucji). Dodatkowo wymagana jest multi-lokalizacja (jedna platforma dla wielu wypożyczalni), automatyzacja dokumentów i responsywny UI dostępny z każdego urządzenia. Tradycyjne rozwiązania są monolityczne i nie skalują się dla modelu SaaS.
- Izolacja danych między wypożyczalniami (tenantami)
- Obsługa depozytów i kaucji w płatnościach Stripe
- Tymczasowe rezerwacje (holds) z TTL w koszyku
- Real-time aktualizacje statusów między admin a klient
Rozwiązanie
Zaprojektowałem architekturę hybrydową Blazor Server + WASM z 11 projektami w solucji. Multi-tenancy zaimplementowane przez EF Core Global Query Filters z automatyczną filtracją po TenantId. Stripe Checkout Sessions obsługuje płatności z metadanymi depozytu. System ReservationHolds trzyma produkty w koszyku z TTL 20 minut. SignalR zapewnia real-time powiadomienia o zmianach statusu. QuestPDF generuje profesjonalne umowy PDF. Sekrety w Azure Key Vault (zero w kodzie). Testy: 356 automatycznych (unit, integration, E2E).
Wykorzystane technologie
Rezultaty
Clean Architecture z podziałem odpowiedzialności
Unit, Integration, E2E - 100% passing
Production-ready codebase
Architektura multi-tenant z Query Filters zapewnia pełną izolację danych bez modyfikacji zapytań. Hybrydowe podejście Blazor Server + WASM łączy zalety obu technologii - szybki admin panel i offline-capable aplikacja kliencka.
Masz podobny projekt?
Porozmawiajmy o tym, jak mogę pomóc Twojej firmie osiągnąć podobne rezultaty.
💬 Komentarze (0)
Zostaw komentarz
Bądź pierwszy, który skomentuje!