Minimal SwiftUI iOS client for the existing TCG Search auth API.
The app calls the current backend endpoints:
POST /api/auth/signupPOST /api/auth/loginPOST /api/auth/refreshPOST /api/auth/logout
Request and response JSON matches the backend snake_case contract, including
device_id, refresh_token, access_token, token_type, and expires_in.
Token pairs are stored in Keychain.
The default API base URL is set in TCGSearch/Info.plist:
<key>TCGSearchAPIBaseURL</key>
<string>http://localhost:8080</string>This works for iOS Simulator when the backend is running on the Mac. For a real device, change it to the Mac's LAN address.
Once Xcode license setup is complete, run:
swift test
xcodebuild -project TCGSearch.xcodeproj -scheme TCGSearch -sdk iphonesimulator -configuration Debug build