Skip to content

Latest commit

 

History

History
78 lines (49 loc) · 2.49 KB

README.md

File metadata and controls

78 lines (49 loc) · 2.49 KB

GitHub Status Bar macOS App

swift: v5.2 platform: macOS deployment target: v10.15 code coverage: 100%

GitHub notifications in macOS status bar. Written in Swift.

This project demonstrates unidirectional data flow architecture implementation in a simple Swift application.

🚀 Build and run

Requirements

  • Xcode 11 with Swift 5.2

Run

You can run the app directly from terminal, by executing:

GITHUB_USERNAME=user GITHUB_TOKEN=personal-access-token swift run

Replace environment variables with your actual credentials.

🛠 Develop

Setup

Open Package.swift in Xcode.You can run the app using github-status-bar shared build scheme.

The GitHub credentials can be set in the scheme configuration:

xcode-scheme-environment-variables.png

Test

You can run tests from Xcode or by executing the following command in terminal:

swift test

Package structure

Target Description
Executable The macOS app executable
App[Tests] Core application logic
StatusBar[Tests] Status bar menu component
GitHub[Tests] GitHub REST API v3 client

External dependencies

Dependency Description
ComposableArchitecture Architecture foundations
SwiftEndpoint Networking layer abstration
Quick Behavior-driven development framework used in test targets
Nimble Assertion matcher framework used in test targets
Difference Assertion helper framework used in test targets

☕️ Do you like the project?

Buy Me A Coffee

📄 License

Copyright © 2020 Dariusz Rybicki Darrarski

License: GNU GPLv3