forked from eatvio/eatvio_app
5.1 KiB
5.1 KiB
Technology Stack
Core Framework
- Flutter: SDK 3.8.0+
- Dart: Language version >=3.8.0 <4.0.0
- Version: 1.3.0+79 (build 79)
State Management
- flutter_bloc: ^9.1.1 - BLoC pattern implementation
- equatable: ^2.0.7 - Value equality for state objects
Data Management
- freezed: ^3.2.0 - Immutable data classes
- freezed_annotation: ^3.1.0 - Code generation annotations
- json_annotation: ^4.9.0 - JSON serialization
- json_serializable: ^6.10.0 - JSON code generation
Networking
- dio: ^5.9.0 - HTTP client
- retrofit: ^4.7.1 - Type-safe REST client
- retrofit_generator: ^10.0.2 - Retrofit code generation
- http: ^1.5.0 - Additional HTTP support
- http_parser: ^4.1.2 - HTTP parsing utilities
Real-time Communication
- dart_pusher_channels: ^1.2.3 - WebSocket support via Pusher
- connectivity_plus: ^6.1.5 - Network connectivity monitoring
Navigation & Routing
- go_router: ^16.1.0 - Declarative routing
- Deep linking support for content
UI Components
- cached_network_image: ^3.4.1 - Image caching
- flutter_svg: ^2.2.0 - SVG rendering
- google_fonts: ^6.3.0 - Mulish font family
- carousel_slider_plus: ^7.1.1 - Carousel widgets
- photo_view: ^0.15.0 - Image viewer
- dismissible_page: ^1.0.2 - Swipe to dismiss
- badges: ^3.1.2 - Notification badges
- lottie: ^3.3.1 - Animation support
- flutter_portal: ^1.1.4 - Overlay widgets
- dotted_border: ^3.1.0 - Dotted borders
- flutter_rating_bar: ^4.0.1 - Rating widgets
Forms & Input
- flutter_form_builder: ^10.2.0 - Form management
- validators: ^3.0.0 - Input validation
- flutter_typeahead: ^5.2.0 - Autocomplete
- keyboard_dismisser: ^3.0.0 - Keyboard management
- flutter_keyboard_visibility: ^6.0.0 - Keyboard state
- mask_text_input_formatter: ^2.9.0 - Input masking
Media & Files
- image_picker: ^1.2.0 - Image selection
- flutter_image_compress: ^2.4.0 - Image compression
- image: ^4.5.4 - Image manipulation
- file_picker: ^10.3.1 - File selection
- audioplayers: ^6.5.0 - Audio playback
- qr_code_scanner_plus: ^2.0.10+1 - QR code scanning
Data Visualization
- syncfusion_flutter_charts: ^30.2.5 - Chart widgets
- syncfusion_flutter_gauges: ^30.2.5 - Gauge widgets
- table_calendar: ^3.2.0 - Calendar widget
Storage & Persistence
- shared_preferences: ^2.5.3 - Local key-value storage
- path_provider: ^2.1.5 - File system paths
- path: ^1.9.1 - Path manipulation
Firebase
- firebase_core: ^4.0.0 - Firebase initialization
- firebase_messaging: ^16.0.0 - Push notifications
Analytics & Monitoring
- sentry_flutter: ^9.6.0 - Error tracking
- appmetrica_plugin: ^3.3.0 - Analytics (Russian market)
Authentication
- vk_id: ^1.0.3 - VK social login
- flutter_login_yandex: ^0.0.5 - Yandex ID login
- OAuth support for OK and Mail.ru
Utilities
- url_launcher: ^6.3.2 - URL handling
- easy_debounce: ^2.0.3 - Debouncing
- share_plus: ^11.1.0 - Content sharing
- flutter_html: ^3.0.0 - HTML rendering
- webview_flutter: ^4.13.0 - WebView
- intl: ^0.20.2 - Internationalization
- collection: ^1.19.1 - Collection utilities
- uuid: ^4.5.1 - UUID generation
- visibility_detector: ^0.4.0+2 - Visibility tracking
- fluttertoast: ^8.2.12 - Toast messages
- version: ^3.0.2 - Version management
- package_info_plus: ^8.3.1 - Package info
- device_info_plus: ^11.5.0 - Device information
- permission_handler: ^12.0.1 - Permissions
Platform-Specific
Android
- Huawei HMS Push (6.12.0.300)
- Huawei Analytics (6.12.0.300)
- Google Play Services
- ProGuard for code obfuscation
- NDK version 27.0.12077973
- Compile SDK: Flutter default
- Min SDK: Flutter default
- Target SDK: Flutter default
iOS
- APNs for push notifications
- Deep linking support
Development Tools
- build_runner: ^2.7.0 - Code generation
- flutter_native_splash: ^2.4.6 - Splash screen
- flutter_lints: ^6.0.0 - Linting
- mockito: ^5.5.0 - Mocking for tests
- flutter_test: SDK - Testing framework
- integration_test: SDK - Integration testing
- flutter_dotenv: ^5.2.1 - Environment variables
Localization
- flutter_localizations: SDK - Localization
- flutter_intl: Enabled - Internationalization
- Primary language: Russian (ru)
Build Configuration
- Environment: Production/Development/Test modes
- Build types: Debug, Release, Profile
- Code generation: Freezed, JSON, Retrofit
- Obfuscation: ProGuard (Android release)
- Resource optimization: Shrink resources enabled
API Integration Patterns
- RESTful API via Retrofit
- Bearer token authentication
- Interceptor-based auth injection
- Automatic 401 handling
- Environment-based base URLs
- Type-safe API clients
Development Workflow
- Code generation:
flutter pub run build_runner build - Clean generation:
flutter pub run build_runner build --delete-conflicting-outputs - Watch mode:
flutter pub run build_runner watch - Environment setup:
.envfile configuration - Firebase setup: Separate configs per platform
- Testing: Unit tests + Integration tests