Back to case studies Tourism

Zim Voyage

Problem

Tourism information in Zimbabwe is spread across many small, disconnected sources, which makes it hard for travellers to plan, discover and book in one place.

Approach

Domain-driven design with bounded contexts (Identity, Tourism Directory, Heritage, Booking) and CQRS using MediatR, with FluentValidation on every command.

Architecture

Clean Architecture: SharedKernel, Domain, Application and Infrastructure layers (EF Core on SQL Server / Azure SQL), a REST API with Swagger and a Blazor Web App (Server + WebAssembly) using MudBlazor and Tailwind CSS. Separate DbContexts keep domain data and Identity credentials apart.

Technology

ASP.NET Core, C#, Entity Framework Core, SQL Server, Blazor, MudBlazor, Tailwind CSS, MediatR, FluentValidation, Clean Architecture, DDD, CQRS, REST APIs

Features

Trip planning, tourism directory, heritage preservation, booking, a JWT-secured REST API, and integrations (email, SMS, AI, storage, payments) configured at runtime with safe local fallbacks.

Outcome

Phase One targets Zimbabwe and is in active development, with expansion across Southern Africa planned.