Apollo is a running tracker app.
Available on iOS.
- Running plans:
- 0 to 2K
- 0 to 5K
- 5K to 10k
- Weight Loss: Level 1
- Weight Loss: Level 2
- Weight Loss: Level 3
- Distance tracking
- Calories burned
- Integrated with Apple Health for reading weight
- Works completely offline
- Dark theme
- Languages (en, nl)
- Swipe between tabs
This project requires:
- XCode 14
- iOS 16 (device or simulator)
Architecture of the application is based on the microapps/microfeatures architecture.
Meet the microapps architecture
Get started/Building at scale/µFeatures Architecture
graph TD
subgraph "App"
ApolloApp[ApolloApp]
end
subgraph "Feature"
FeaturePlans[FeaturePlans]
FeatureSettings[FeatureSettings]
end
subgraph "Foundation"
FoundationData[FoundationData]
FoundationLocation[FoundationLocation]
FoundationAudio[FoundationAudio]
FoundationImages[FoundationImages]
FoundationLogger[FoundationLogger]
FoundationLocalization[FoundationLocalization]
FoundationStorage[FoundationStorage]
end
subgraph "Utility"
UtilityExtensions[UtilityExtensions]
end
ApolloApp --> FeaturePlans
ApolloApp --> FeatureSettings
FeaturePlans --> FeatureSettings
FeaturePlans --> FoundationData
FeaturePlans --> FoundationLocation
FeaturePlans --> FoundationAudio
FeaturePlans --> FoundationImages
FeaturePlans --> UtilityExtensions
FeatureSettings --> FoundationData
FeatureSettings --> FoundationLogger
FeatureSettings --> FoundationLocalization
FeatureSettings --> FoundationStorage
FeatureSettings --> UtilityExtensions
FoundationData --> FoundationStorage
FoundationData --> FoundationLogger
FoundationLocation --> FoundationLogger
FoundationAudio --> FoundationLogger
FoundationLocalization --> FoundationLogger
FoundationLogger --> CocoaLumberjack
brew install fastlane
Navigate to fastlane folder and run actions from terminal.
fastlane ios build_debug
fastlane ios build_release
fastlane ios screenshots
fastlane ios tests
Detailed dependency graph can be found at:
./DependencyGraph/html/emerge.html
It is generated using the emerge
Install emerge:
./Scripts/emerge/install_emerge.sh
Generate new dependency graph:
./Scripts/emerge/run_emerge.sh
This project is licensed under the GNU GPL v3 License - see the LICENSE.md file for details.