{"repo":"protonpass/ios-authenticator","free":true,"listed":false,"github":"https://github.com/protonpass/ios-authenticator","clone":"git clone https://github.com/protonpass/ios-authenticator.git","description":"iOS client for Proton Authenticator","language":"Swift","stars":123,"topics":["authenticator","ios","proton","swift","swiftui"],"license":"GPL-3.0","category":"mobile-apps","readme_excerpt":"Proton Authenticator This repository contains the source code for the Proton Authenticator application. Installation Technical Choices Project Architecture Overview Architecture Diagram Dependency manager Modularization Debug Debug network traffic Debug Sentry activities Tools Dependency injection SwiftLint SwiftFormat Sourcery Changelog Contributing License Installation The app targets iOS 18 and above. Make sure you have Xcode 16+ installed, check out the repo and open Authenticator.xcodeproj to run the project. Technical Choices Project Architecture Overview This document outlines our project structure based on a layered (Clean Architecture) approach. The code is organized into local Swift packages to enforce separation of concerns and improve maintainability. The main layers are: • Entities: Core domain models (data structures). • Domain: Business logic including use cases and repository protocols. • Data: Concrete implementations for data operations (networking, persistence). • Presentation: UI components, views, and view models. Architecture Diagram Below is a Mermaid diagram that visualizes the dependency flow between the layers: Package Functions Models Package - Purpose: Contains the fundamental data models (the “entities”) that represent your domain objects. These should be simple, framework-agnostic, and ideally immutable value types (structs). - Examples: Domain Layer (Domain Package) - Purpose: Holds the core business logic of your application. This layer is inde","default_branch":null,"files":null,"tree":[],"storefront":"/r/protonpass","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/protonpass/ios-authenticator/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}