Skip to content

NikolaGrujic91/Apollo-iOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Apollo

PlatformIOS SwiftUI Language Maintenance License: GPL v3 style: swift lint style: swift formater

Table of contents

General info

Apollo is a running tracker app.

Available on iOS.

Features

  • 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

Usage

Requirements

This project requires:

  • XCode 14
  • iOS 16 (device or simulator)

Architecture

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]
Loading

Fastlane

brew install fastlane

Available Actions

Navigate to fastlane folder and run actions from terminal.

Build debug

fastlane ios build_debug

Build release

fastlane ios build_release

Create screenshots

fastlane ios screenshots

Tests with code coverage

fastlane ios tests

Dependency graph

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

License

This project is licensed under the GNU GPL v3 License - see the LICENSE.md file for details.