Skip to main content

Overview

Before setting up AndanDo, ensure your development environment meets the following requirements. AndanDo is built with .NET 10.0 and Blazor Server, requiring specific runtime dependencies and external services.

Core Requirements

.NET SDK

Version 10.0 or compatible with net10.0 target framework

SQL Server

SQL Server instance accessible via connection string

Internet Connection

Required for external APIs (geolocation, currency, text assistance)

SMTP Server

For email notifications and password resets

.NET SDK

1

Verify .NET Version

AndanDo targets net10.0 as specified in AndanDo.csproj. Check your installed version:
dotnet --version
If you don’t have .NET 10.0 SDK installed, you can:
  • Download it from dotnet.microsoft.com
  • Temporarily change TargetFramework in AndanDo.csproj to net8.0 if you have .NET 8.0 installed
2

Verify Installation

List all installed SDKs and runtimes:
dotnet --list-sdks
dotnet --list-runtimes

NuGet Package Dependencies

AndanDo requires the following NuGet packages (automatically restored via dotnet restore):
Email sending functionality for notifications, password resets, and booking confirmations.Used in: Services/Email/EmailService.cs, Services/Mail/MailService.cs
SQL Server database connectivity for all data operations.Used in: Services/Tour/TourService.cs, Services/Auth/AuthService.cs, and other service layers
JWT token generation and validation for authentication.Used in: Services/JWT/JwtTokenService.cs for session management
Image processing for tour uploads and media handling.Used in: Image manipulation in wwwroot/uploads/ directory

Database Requirements

AndanDo uses SQL Server with stored procedures for tour management, reservations, tickets, and user authentication.

Minimum SQL Server Version

  • SQL Server 2016 or later (recommended: SQL Server 2019+)
  • SQL Server Express (free edition) is sufficient for development
  • Azure SQL Database is supported for cloud deployments

Required Database Objects

The database must include:
  • Tables for tours, reservations, tickets, users, reviews, and likes
  • Stored procedures called by TourService for CRUD operations
  • Support for connection string format: Server=...;Database=...;User Id=...;Password=...;TrustServerCertificate=true;
The TrustServerCertificate=true parameter is required when using self-signed certificates in development.

External Service Dependencies

Required Services

1

SMTP Server

Configure an SMTP server for email functionality:
  • Host: SMTP server address (e.g., smtp.gmail.com)
  • Port: Typically 587 for TLS/STARTTLS
  • Authentication: Username and password or app-specific password
Gmail users: Use App Passwords instead of account passwords. Generate one at myaccount.google.com/apppasswords
2

PayPal API

For payment processing in production:
  • Sandbox Account: For development/testing
  • Live Credentials: Client ID and Secret for production
  • Register at developer.paypal.com

Google Maps API

Optional but recommended for location features:
  • Valid API key from Google Cloud Console
  • Enable Maps JavaScript API and Geocoding API
  • Set up billing (free tier available)

Internet-Dependent Features

The following features require active internet connectivity:

Nominatim

Geolocation and address search using OpenStreetMap’s Nominatim service

Currency API

Real-time currency conversion for international pricing

Text Assistance

Remote text generation and content assistance

Development Environment

  • Version 17.8 or later
  • Workload: ASP.NET and web development
  • Workload: .NET desktop development
  • Built-in Blazor tooling and hot reload

Operating System Support

Windows

Windows 10 (1607+) or Windows 11Recommended for Visual Studio development

macOS

macOS 11 (Big Sur) or laterFull .NET 10 support available

Linux

Ubuntu 20.04+, Debian 11+, Fedora 37+Use VS Code or Rider

Browser Requirements

Blazor Server requires WebSocket support for SignalR connections.

Supported Browsers

BrowserMinimum VersionNotes
Chrome90+Recommended for development
Edge90+Chromium-based, excellent support
Firefox88+Full WebSocket support
Safari14+macOS and iOS support
Internet Explorer is not supported by Blazor Server.

Hardware Recommendations

Minimum Specifications

  • CPU: 2+ cores, 2.0 GHz
  • RAM: 4 GB (8 GB recommended)
  • Storage: 10 GB free space
  • Network: Stable internet connection (5+ Mbps)
  • CPU: 4+ cores, 2.5 GHz or higher
  • RAM: 16 GB
  • Storage: SSD with 20+ GB free space
  • Network: Broadband connection (25+ Mbps)

Port Requirements

Ensure the following ports are available on your development machine.
PortProtocolPurpose
5004HTTPDevelopment server (HTTP)
7129HTTPSDevelopment server (HTTPS)
1433TCPSQL Server default port
587TCPSMTP (STARTTLS)
If ports 5004 or 7129 are already in use, you can modify them in Properties/launchSettings.json.

Next Steps

Once your environment meets all requirements, proceed to Development Setup to configure and run AndanDo locally.

Build docs developers (and LLMs) love