AnyPass is your one-stop solution for password management, password generation, and password health analysis.
The app architecture has three layers: a data layer, a domain layer and a UI layer. AnyPass uses Meteor KMP to create application using MVI architecture. It provides a unidirectional data flow (UDF), allowing you to handle state changes and propagate them to the UI efficiently.
Single source of truth
When a new data type is defined in your app, you should assign a Single Source of Truth (SSOT) to it. The SSOT is the owner of that data, and only the SSOT can modify or mutate it. To achieve this, the SSOT exposes the data using an immutable type, and to modify the data, the SSOT exposes functions or receive events that other types can call.
This pattern brings multiple benefits:
- It centralizes all the changes to a particular type of data in one place.
- It protects the data so that other types cannot tamper with it.
- It makes changes to the data more traceable. Thus, bugs are easier to spot.
In an offline-first application, the source of truth for application data is typically a database. In some other cases, the source of truth can be a ViewModel or even the UI.
- Compose Multiplatform
- Kotlin Coroutine
- Google Admob
- Multiplatform Settings
- Moko Resource
- Sentry Multiplatform
- Meteor ViewModel
Check your Xcode version is 14.1 or newer. Additionally, check your Android Studio version is Flamingo or newer.
Clone the repository using the following command:
When building the iOS app, you may face common issues:
Unicode Normalization not appropriate for ASCII-8BIT
Solution: Try add your
LANG=en_US.UTF-8 LANGUAGE=en_US.UFT-8 LC_ALL=en_US.UFT-8
Issue: Sometimes you can not build your iOS app from Xcode
Solution: Follow these steps after executing the cleanup script:
- Copy the
Build and run the app on your Android / iOS device or simulator.
⚠️ Make fake
google-services.json for building properly.
We recommend including linkers from Xcode. To include linkers from Xcode, follow these steps:
- Navigate to iosApp/Build Settings/Linking.
- Add the following linkers to your Other Linking Flags:
Want to contribute? See CONTRIBUTING.md
- Java 17+
- iOS: 14.0+
What is Copy-On-Write
Copy-On-Write (COW) is a strategy used in computer programming and operating systems to optimize the performance and efficiency of memory...
Mobile App Development Best Practices – 11.12
Large photos in SwiftUI, Mutation Testing, Processing Payments in Firebase and more!
SDKs for which Apple will require a signature have been published
Apple has already listed SDKs commonly used in apps in the App Store that, from spring 2024, you will be...
Discover the Journaling Suggestions API
Journaling Suggestions is a visual picker interface for iPhone applications. It displays personal events that are happening in a person’s...
Tusky – An Android client for the microblogging server Mastodon
Tusky is a beautiful Android client for Mastodon. Mastodon is an ActivityPub federated social network. That means no single entity controls...
Swift 30 Projects: 30 mini Swift Apps for self-study
This repo is updated with Swift 5 and compatible with iPhone X: Simple UIKit components UIScrollView, UITableView, UICollectionView CAAnimations and...