What is AndanDo?
AndanDo is a full-featured tour marketplace platform that enables tour operators to publish, manage, and sell their tours while providing travelers with a seamless booking experience. Built with Blazor Server and .NET 10, AndanDo offers a complete end-to-end solution for the tour and services industry.For Tour Operators
Create and manage tours with detailed itineraries, ticket types, extras, and pricing. Track reservations and earnings through a comprehensive dashboard.
For Travelers
Discover tours with advanced search, geolocation filtering, view detailed information, read reviews, and book with flexible payment options.
Key Features
Public Marketplace
Beautiful marketplace with tour cards displaying pricing, duration, ratings, and availability. Features a slider showcasing recent tours.
Advanced Search
Autocomplete search with geolocation support via Nominatim API. Filters persist in Base64 format with intelligent normalization.
Tour Management
Complete tour creation/editing with hero highlights, inclusions/exclusions, itinerary builder, FAQ system, and ticket type configuration.
Booking Flow
Multi-step reservation process with contact info, ticket selection, extras, and totals. All data persists in SQL Server.
Payment Integration
PayPal integration for secure payments with support for instant bookings, quotes, and deposits.
Creator Dashboard
Comprehensive dashboard with metrics, reservation management, invoice generation, and earnings tracking.
Architecture Overview
AndanDo follows a clean, service-oriented architecture:Frontend Layer
Blazor Server components in
Components/Pages including Home, Marketplace, SearchResults, TourDetails, NewTour, Dashboard pages, and Auth flows.Service Layer
Domain services including
TourService for tour management, AuthService for authentication with PBKDF2 hashing, and utility services for likes, reviews, currency conversion, and AI assistance.Core Services
Program.cs
Technology Stack
Backend
- .NET 10 - Modern web framework
- Blazor Server - Interactive web UI
- SQL Server - Relational database
- Entity Framework Core - Data access
Key Libraries
- Microsoft.Data.SqlClient - Database connectivity
- System.IdentityModel.Tokens.Jwt - JWT authentication
- MailKit - Email services
- System.Drawing.Common - Image processing
Security & Authentication
AndanDo implements enterprise-grade security:Password Security
PBKDF2 with SHA256 hashing, 100,000 iterations, 16-byte salt, and 32-byte key size for secure password storage.
Session Management
JWT tokens for authentication with ProtectedLocalStorage for client-side session persistence in Blazor Server.
AuthService.cs
Recent Updates
AndanDo is actively developed with continuous improvements and new features.
- Reports Dashboard - Event selector with metrics (entries, reservations, sales) and expandable reservation tables
- Ticket Management - Grouped ticket display from
TourReservationandTourReservationTickettables - Invoice Generation - HTML invoice generation using templates with “View Invoices” action menu per reservation
- Ticket Listing - Display ticket codes and documents with duplicate prevention
What You’ll Learn
This documentation will guide you through:Getting Started
Quick setup guide to get AndanDo running locally in minutes
Installation
Detailed installation with database setup and configuration
Tour Management
Creating and managing tours with all features
Booking System
Understanding the multi-step booking workflow
Payment Integration
Configuring PayPal and handling payments
Dashboard Features
Using the creator dashboard and reports
Prerequisites
Before you begin, ensure you have:Development Tools
- .NET SDK 10.0 (or .NET 8.0)
- Visual Studio 2022+ or VS Code
- SQL Server or SQL Express
External Services
- Internet for geolocation (Nominatim)
- PayPal developer account (optional)
- Google Maps API key (optional)
If you don’t have .NET 10 SDK, you can temporarily change
TargetFramework in AndanDo.csproj to net8.0.