DeepLink Launcher is a multiplatform app designed for executing and managing deeplinks. This tool offers developers and QA teams an intuitive interface for testing, organizing, tracking, and sharing deeplinks.
Platform | Status | Download |
---|---|---|
Android | ✅ Available | Download on Google Play |
iOS | ✅ Available | Not yet released. |
Desktop | ✅ Available | Download for Desktop |
- Execute Deeplinks: Instantly execute deeplinks on Android, iOS, and Desktop platforms.
- Device Bridge: The Desktop app integrates with ADB (Android) and Xcrun (iOS) to run deeplinks directly on devices in real-time.
- Auto-suggestions: Get suggestions for deeplinks based on previously executed links.
- Deeplink History: Easily track and revisit all previously executed deeplinks.
- Favorites: Mark your most used deeplinks as favorites for quick access.
- Folders: Organize your deeplinks into folders for better management.
- Export/Import: Export and share your deeplinks in JSON or TXT formats. Import deeplinks as needed.
- Duplicate Deeplinks: Quickly duplicate existing deeplinks to save time on similar or recurring tasks.
- Theme Support: Choose between Light and Dark themes to match your preferences.
- Search: Find any deeplink fast with the built-in search functionality.
- In-App Purchase: Support the project by buying a coffee (Android only).
Technology | Description |
---|---|
Compose Multiplatform | A modern UI toolkit for building native UIs across all platforms. |
Voyager | A multiplatform navigation library. |
Koin | A powerful dependency injection framework for Kotlin. |
SQLDelight | A multiplatform database library that generates type-safe Kotlin APIs. |
DataStore | A modern data storage solution for key-value pairs or protocol buffers with Kotlin coroutines. |
Material3 | Google's design system for a consistent user experience across platforms. |
Kotlinx Immutable | Immutable collections for Kotlin. |
Kotlinx DateTime | Library for working with date and time in Kotlin. |
AboutLibraries | Displays open-source libraries used in Android apps. |
Detekt | A static code analysis tool for Kotlin. |
Ktlint | A Kotlin linter for enforcing code style guidelines. |
MPFilePicker | A multiplatform file picker for Compose. |
Material 3 Window Size Class | A library to detect window size across different platforms. |
RevenueCat | In-app purchase library for managing subscriptions and one-time purchases. |
The architecture used is designed to enforce modularization and encapsulation, promoting clean and maintainable code. Here's how it is structured:
Each feature in the app is divided into three submodules:
-
:ui
- Contains the user interface components (e.g., screens, widgets, and Compose code).
- Depends on the API Module for any shared interfaces or contracts.
-
:ui
- Implements the business logic and core functionality of the feature.
- Depends on the API Module for interface definitions.
- Completely hidden from other feature modules to prevent tight coupling.
-
:api
- Defines public contracts, such as interfaces and shared data models.
- Serves as the communication layer between UI and Impl, and is the only module exposed to other feature modules.
- Feature Isolation: Other feature modules can only access the API or UI Module of another feature, ensuring clear boundaries and reducing dependencies.
- Encapsulation: The Impl Module is internal to the feature, encapsulating its implementation details.
- Reusability: Common components can be placed in the API Module for easy reuse across the app.
This approach ensures:
- Scalability: Features can be developed, tested, and maintained independently.
- Clear Dependency Management: Modules explicitly declare their dependencies, making it easy to track changes.
- Improved Code Quality: Separation of concerns makes the codebase easier to navigate and less prone to bugs.
Feel free to reach out with any questions or suggestions! 😄