shyun_link 3.0.1

SDKflutter
Platformandroidioswindowslinuxmacosweb

A comprehensive deeplink and short URL management system built with Clean Architecture principles. Supports strategy patterns, dependency injection, and enterprise-grade error handling.

ShyunLink Documentation

Welcome to the comprehensive documentation for ShyunLink - a powerful Flutter package for deep link and short URL management built with Clean Architecture principles.

📚 Documentation Overview

This documentation provides complete coverage of the ShyunLink package, from basic usage to advanced architecture patterns.

🚀 Getting Started

📖 Core Documentation

🔧 Development Resources

🎯 Quick Navigation

For New Users

  1. Start with Main README for package overview
  2. Follow Short Link Guide for practical implementation
  3. Run the Example App to see features in action
  4. Reference API Documentation for specific methods

For Architects & Advanced Users

  1. Study Architecture Guide for design patterns and principles
  2. Review Project Structure for codebase organization
  3. Check API Reference for extension points and customization
  4. Follow Development Guide for contribution workflow

🏗️ Package Architecture

ShyunLink implements Clean Architecture with four distinct layers:

  • Domain Layer - Pure business logic and entities
  • Application Layer - Use cases, factories, and client facades
  • Infrastructure Layer - External integrations and concrete implementations
  • Configuration Layer - System setup and dependency injection

For detailed architecture information, see Architecture Guide.

🔑 Key Features

  • Deep Link Processing - Handle complex deep link patterns with strategy-based processing
  • Short URL Management - Create and manage short URLs with comprehensive metadata
  • Clean Architecture - Maintainable, testable, and extensible codebase
  • Framework Agnostic DI - Works with GetX, get_it, or built-in dependency injection
  • Environment Configuration - Development, staging, and production presets
  • Multiple Repository Support - HTTP API integration or in-memory storage

💡 Usage Examples

Basic Initialization

final facade = await ShyunLink.initialize(
  config: ShyunLinkConfig.production(
    appScheme: 'myapp',
    webBaseUrl: 'https://example.com',
  ),
  useHttpRepository: true,
);
final request = GenericLinkRequest.curation('mainBannerCuration', 141);
final shortUrl = await facade.createLink(request);
final success = await facade.handleDeepLink('myapp://store?id=123');

For complete examples, see Short Link Guide.

📋 Documentation Structure

docs/
├── README.md              # This overview file
├── INDEX.md              # Complete documentation index
├── API_REFERENCE.md      # Detailed API documentation
├── ARCHITECTURE.md       # Architecture and design patterns
└── PROJECT_STRUCTURE.md  # File organization guide

🛠️ Development

Commands

  • flutter pub get - Install dependencies
  • flutter analyze - Run static analysis
  • dart format . - Format code
  • flutter pub publish --dry-run - Validate package

Testing

  • Run example: cd example && flutter run
  • Test scenarios: dart example/test_fixes.dart

For complete development workflow, see Claude Code Guide.

🤝 Contributing

  1. Read Architecture Guide for design principles
  2. Follow Project Structure conventions
  3. Reference API Documentation for patterns
  4. Use Development Commands

📄 License

MIT License - see LICENSE file for details.


Next Steps: Choose your path based on your needs: