A SwiftUI app that helps you discover and track coffee shops near you using MapKit.
- Find nearby coffee shops on a map
- Save favorite coffee shops
- Track visit history
- Achievement system
- Premium features
- Custom location search
- Xcode 15.0+
- iOS 17.0+
- SwiftUI
- MapKit
- Clone the repository
- Open
coffee-hunter.xcodeprojin Xcode - Build and run the project
The project includes both unit tests and UI tests:
- ViewModel tests for core business logic
- Service layer tests for data operations
- Run tests with
Cmd + Uin Xcode or through CI
Basic UI tests covering main user flows:
- Tab navigation
- Coffee shop selection
- Favorites management
- Profile actions
This project uses GitHub Actions for continuous integration and delivery.
The CI pipeline runs on every pull request and push to main, performing:
-
SwiftLint
- Code style checking
- Runs first for fast feedback
-
Unit Tests
- Core functionality testing
- Runs after SwiftLint passes
-
UI Tests
- Main user flow testing
- Runs in parallel with unit tests
The project includes a Makefile to simplify running common commands. To see all available commands:
make helpMain commands:
# Install dependencies (SwiftLint)
make install-deps
# Run SwiftLint
make lint
# Build the project
make build
# Run all tests
make test
# Run only unit tests
make test-unit
# Run only UI tests
make test-ui
# Run all CI checks locally
make ci- Ensure all tests pass locally before pushing
- Fix any SwiftLint warnings/errors
- Add tests for new features
- Update documentation as needed