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 frameworkSQL 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
Verify .NET Version
AndanDo targets
net10.0 as specified in AndanDo.csproj. Check your installed version:NuGet Package Dependencies
AndanDo requires the following NuGet packages (automatically restored viadotnet restore):
MailKit v4.14.1
MailKit v4.14.1
Email sending functionality for notifications, password resets, and booking confirmations.Used in:
Services/Email/EmailService.cs, Services/Mail/MailService.csMicrosoft.Data.SqlClient v6.1.3
Microsoft.Data.SqlClient v6.1.3
SQL Server database connectivity for all data operations.Used in:
Services/Tour/TourService.cs, Services/Auth/AuthService.cs, and other service layersSystem.IdentityModel.Tokens.Jwt v8.14.0
System.IdentityModel.Tokens.Jwt v8.14.0
JWT token generation and validation for authentication.Used in:
Services/JWT/JwtTokenService.cs for session managementSystem.Drawing.Common v8.0.7
System.Drawing.Common v8.0.7
Image processing for tour uploads and media handling.Used in: Image manipulation in
wwwroot/uploads/ directoryDatabase 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
TourServicefor CRUD operations - Support for connection string format:
Server=...;Database=...;User Id=...;Password=...;TrustServerCertificate=true;
External Service Dependencies
Required Services
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
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
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
Recommended IDEs
- Visual Studio 2022
- Visual Studio Code
- JetBrains Rider
- 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
| Browser | Minimum Version | Notes |
|---|---|---|
| Chrome | 90+ | Recommended for development |
| Edge | 90+ | Chromium-based, excellent support |
| Firefox | 88+ | Full WebSocket support |
| Safari | 14+ | macOS and iOS support |
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)
Recommended for Development
- 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.
| Port | Protocol | Purpose |
|---|---|---|
| 5004 | HTTP | Development server (HTTP) |
| 7129 | HTTPS | Development server (HTTPS) |
| 1433 | TCP | SQL Server default port |
| 587 | TCP | SMTP (STARTTLS) |