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
ApolloApp[ApolloApp] --> FeaturePlans[FeaturePlans]
ApolloApp[ApolloApp] --> FeatureSettings[FeatureSettings]
FeaturePlans --> FeatureSettings[FeatureSettings]
FeaturePlans --> FoundationData[FoundationData]
FeaturePlans --> FoundationLocation[FoundationLocation]
FeaturePlans --> FoundationAudio[FoundationAudio]
FeaturePlans --> FoundationImages[FoundationImages]
FeaturePlans --> UtilityExtensions[UtilityExtensions]
FeatureSettings --> FoundationData[FoundationData]
FeatureSettings --> FoundationLogger[FoundationLogger]
FeatureSettings --> FoundationLocalization[FoundationLocalization]
FeatureSettings --> FoundationStorage[FoundationStorage]
FeatureSettings --> UtilityExtensions[UtilityExtensions]
FoundationData --> FoundationStorage[FoundationStorage]
FoundationData --> FoundationLogger[FoundationLogger]
FoundationLocation --> FoundationLogger[FoundationLogger]
FoundationAudio --> FoundationLogger[FoundationLogger]
FoundationLocalization --> FoundationLogger[FoundationLogger]
FoundationLogger --> CocoaLumberjack[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.