How cmulhollandd/tap-ios works
Tap-iOS appears to be a social app centered on discovering and reviewing fountains, with user profiles, posts, and a leaderboard. The visible workflows include signing in, exploring nearby fountains on a map and opening their details, and creating posts or following users. The tree contains only selected view controllers and dependency sources, and the README is empty; several stores and API implementations are not present, so their internal wiring is intentionally left unspecified. The map-to-detail handoff and sampled API calls are shown where supported.
Main entry points: MapViewController.swift Fountain map · LoginViewController.swift Login · LeaderboardViewController.swift Leaderboard · UserProfileViewController.swift User profile
Components 17
Accounts
- Login
Tap-iOS/View Controllers/OnboardingVCs/LoginViewController.swift - Accounts API
Fountain discovery
- Fountain map
Tap-iOS/View Controllers/FountainVCs/MapViewController.swift - Fountain details
Tap-iOS/View Controllers/FountainVCs/FountainDetailViewController.swift - User fountains
Tap-iOS/View Controllers/ProfileVCs/UserFountainsViewController.swift - Fountain data
Tap-iOS
Social features
- User profile
Tap-iOS/View Controllers/ProfileVCs/UserProfileViewController.swift - Compose post
Tap-iOS/View Controllers/SocialVCs/NewPostViewController.swift - Leaderboard
Tap-iOS/View Controllers/LeaderboardViewController.swift - Social API
- Leaderboard data
Tap-iOS - Feed data
Tap-iOS
External dependencies
- Credential keychain
- Device location
- Floating panel
Pods/FloatingPanel/Sources/Controller.swift
Other components
- App user
- App backend
Connections 18
- App user → Login: enters credentials
- Login → Accounts API: authenticates
- Login → Credential keychain: reads/writes credentials
- Fountain map → Device location: requests location
- Fountain map → Fountain data: loads nearby fountains
- Fountain map → Fountain details: sets selected fountain
- Fountain map → Floating panel: presents details
- Fountain details → Floating panel: changes panel state
- User fountains → Fountain data: loads user fountains
- App user → Compose post: composes post
- Compose post → Feed data: submits post
- App user → User profile: views profile
- User profile → Social API: loads posts and follows
- App user → Leaderboard: views leaderboard
- Leaderboard → Leaderboard data: reloads rankings
- Leaderboard → User profile: opens selected user
- Accounts API → App backend: sends account requests
- Social API → App backend: sends social requests