-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
This page is for contributors setting up PumpSync locally. PumpSync has two code repositories:
-
eslutz/PumpSync: iOS app, App Store/TestFlight metadata, screenshots, app legal docs, and iOS CI. -
eslutz/PumpSync-Backend: ASP.NET Core backend API, Docker/Compose self-hosting, Azure Container Apps infrastructure, backend workflows, data deletion tooling, and hosted/demo operations.
For the iOS app:
- macOS with a current Xcode install that supports the iOS 26.0 deployment target.
- Xcode command line tools selected with
xcode-select. - XcodeGen installed locally.
For the backend:
- The .NET SDK version pinned by
global.json. - Docker for container/self-host validation.
- Azure CLI and Bicep for hosted infrastructure validation.
Install XcodeGen once:
brew install xcodegengit clone https://github.com/eslutz/PumpSync.git
git clone https://github.com/eslutz/PumpSync-Backend.gitIn the current maintainer workstation, the backend checkout may still be named PumpSync.demo; treat that directory as the PumpSync-Backend repository when its remote is https://github.com/eslutz/PumpSync-Backend.git.
From the iOS repository:
xcodegen generate
xcodebuild -list -project PumpSync.xcodeproj
xcodebuild test -project PumpSync.xcodeproj -scheme PumpSync -destination 'platform=iOS Simulator,name=iPhone 17,OS=latest'project.yml is the XcodeGen source of truth for schemes, configurations, build settings, entitlements, and generated project files. Do not hand-edit generated Xcode project or scheme files unless XcodeGen cannot represent a setting.
Run xcodegen generate after adding, deleting, or renaming source/resource files or changing project settings.
From the backend repository:
dotnet restore PumpSync.Backend.slnx
dotnet build PumpSync.Backend.slnx
dotnet test PumpSync.Backend.slnxRun the API directly:
ASPNETCORE_URLS=http://localhost:8080 dotnet run --project src/PumpSync.Api/PumpSync.Api.csproj
curl http://localhost:8080/api/v1/capabilities
curl http://localhost:8080/healthRun the synthetic demo container:
cp .env.example .env
docker compose up --build
curl http://localhost:8080/api/v1/capabilities
curl http://localhost:8080/healthPumpSync app-entered backend URLs should include /api unless a reverse proxy intentionally maps the backend API at the domain root. The app appends /v1/... endpoint paths.
Common base URLs:
| Use | Base URL |
|---|---|
| Local Docker/API | http://localhost:8080/api |
| Hosted nonprod | https://ca-pumpsync-nonprod-api.gentlesea-b1e8a783.eastus2.azurecontainerapps.io/api |
| Production release | https://api.pumpsync.ericslutz.dev/api |
| Public demo | https://demo.pumpsync.ericslutz.dev/api |
PumpSync documentation: iOS repository · Backend repository · Issues