Skip to main content
Get Wolfix.Server up and running locally in minutes using .NET Aspire for orchestration.

Prerequisites

Before you begin, ensure you have the following installed:

.NET 9 SDK

Download from dotnet.microsoft.com

Docker Desktop

Required for PostgreSQL and MongoDB containers. Download from docker.com

Visual Studio 2022

Version 17.12+ or JetBrains Rider (optional but recommended)

Git

For cloning the repository
Docker Desktop must be running before starting the application, as .NET Aspire will automatically provision PostgreSQL and MongoDB containers.

Installation

1

Clone the Repository

git clone https://github.com/Dmytro-Butnyk/Wolfix.Server.git
cd Wolfix.Server/Wolfix.Server
2

Configure Environment Variables

Create a .env file in the Wolfix.AppHost directory with the required configuration:
.env
# Database
DB=Host=localhost;Port=5432;Database=wolfix;Username=postgres;Password=postgres;

# JWT Token
TOKEN_KEY=your-secret-key-here-min-32-chars

# Stripe
STRIPE_SECRET_KEY=sk_test_your_stripe_secret_key

# Google OAuth
GOOGLE_CLIENT_ID=your-google-client-id.apps.googleusercontent.com

# Azure Blob Storage
AZURE_STORAGE_CONNECTION_STRING=your-azure-storage-connection-string
For development, you can use the PostgreSQL credentials that .NET Aspire will provision automatically. Update other keys as needed for the features you want to test.
3

Open the Solution

Open Wolfix.Server.sln in Visual Studio 2022 (17.12+) or JetBrains Rider.
4

Set Startup Project

Set Wolfix.AppHost as the startup project:
  • In Visual Studio: Right-click Wolfix.AppHost → Set as Startup Project
  • In Rider: Edit Run Configuration → Select Wolfix.AppHost
5

Run the Application

Press F5 or click the Run button..NET Aspire will:
  • Start the Aspire Dashboard at http://localhost:17170
  • Launch MongoDB container automatically
  • Launch the Toxicity API container
  • Start the Wolfix.API application
  • Apply database migrations
6

Access the API

Once running, you can access:
  • Swagger UI: https://localhost:5001/swagger
  • Aspire Dashboard: http://localhost:17170
  • API Base URL: https://localhost:5001/api
The root URL (https://localhost:5001/) automatically redirects to Swagger in development mode.

Verify Installation

  1. Navigate to https://localhost:5001/swagger
  2. Expand the Identity section
  3. Try the POST /api/account/customer/register endpoint
  4. Click Try it out and provide a sample request:
{
  "email": "[email protected]",
  "password": "Test123!",
  "firstName": "John",
  "lastName": "Doe",
  "phoneNumber": "+380501234567",
  "birthDate": "1990-01-01"
}
  1. Click Execute - you should receive a 200 OK response with a JWT token

Running Without Visual Studio

You can also run the application using the .NET CLI:
# Navigate to the AppHost project
cd Wolfix.Server/Wolfix.AppHost

# Run the application
dotnet run
The Aspire dashboard will open automatically in your browser.

Common Issues

Error: “Docker is not running”Solution: Ensure Docker Desktop is running before starting the application.
# Check Docker status
docker ps
Error: “Port 5001 is already in use”Solution: Stop any other applications using ports 5001, 5000, or 17170.
# Windows - Find process using port
netstat -ano | findstr :5001

# macOS/Linux - Find process using port
lsof -i :5001
Error: “Cannot connect to database”Solution: Ensure PostgreSQL container is running via Aspire. Check the Aspire dashboard for container status.
Error: “Configuration value for ‘TOKEN_KEY’ not found”Solution: Ensure your .env file exists in the Wolfix.AppHost directory with all required variables.

Next Steps

Architecture Overview

Understand the modular monolith design

Core Concepts

Learn about Clean Architecture and DDD

API Reference

Explore all available endpoints

Development Guide

Start building new features

Build docs developers (and LLMs) love