Files
eatvio_app/.kilocode/rules/memory-bank/tech.md

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

  1. Code generation: flutter pub run build_runner build
  2. Clean generation: flutter pub run build_runner build --delete-conflicting-outputs
  3. Watch mode: flutter pub run build_runner watch
  4. Environment setup: .env file configuration
  5. Firebase setup: Separate configs per platform
  6. Testing: Unit tests + Integration tests