Skip to content

Development setup

  • Node.js 24+ for the web properties and this docs site.
  • .NET 10 SDK for the API.
  • PostgreSQL with PostGIS for structured platform data.
  • Azurite when you need local blob-backed image and avatar storage.
  • Xcode 16+ for iOS work.
  • Android Studio with JDK 17 for Android work.
Terminal window
Set-Location api/CaddieSight.Api
dotnet restore
dotnet run --launch-profile http

The API normally serves on http://localhost:5097 with Swagger at /swagger.

Terminal window
Set-Location clubhouse
npm install
npm start
npm run build

Use .env.local with:

REACT_APP_CLUBHOUSE_API_URL=http://localhost:5097
Terminal window
Set-Location corp
npm install
npm run dev
npm run build
Terminal window
Set-Location proshop
npm install
npm run build
Terminal window
Set-Location docs
npm install
npm run dev
npm run build

The API requires ConnectionStrings:Postgres and applies EF Core migrations on startup.

Blob storage is used only for image and avatar bytes. For local development, configure either:

  • Storage:ConnectionString, or
  • Storage:BlobEndpoint

If you use Azurite, run it with:

Terminal window
azurite --silent --skipApiVersionCheck --location $env:TEMP\azurite --blobHost 127.0.0.1 --queueHost 127.0.0.1 --tableHost 127.0.0.1
  • Keep API controllers thin and push business logic into Application/Services.
  • Persist structured data in PostgreSQL through EF Core repositories.
  • Keep blob storage limited to binary assets such as uploaded images and avatars.
  • If an API contract changes, update every affected client surface.
  • Preserve the phase-one request/response flow unless a task explicitly asks to change it.