github-status-bar
github-status-bar copied to clipboard
GitHub notifications in macOS status bar. Written in Swift and unidirectional data flow architecture.
GitHub Status Bar macOS App
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.
-
GITHUB_USERNAME
- GitHub username -
GITHUB_TOKEN
- GitHub Personal Access Token
🛠 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:
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?
📄 License
Copyright © 2020 Dariusz Rybicki Darrarski
License: GNU GPLv3