π Jet Framework
Jet is a lightweight, modular Flutter framework for scalable app architecture, providing dependency injection, lifecycle management, and streamlined setup for rapid development. Built with Riverpod 3 for enhanced state management and code generation capabilities.
π¦ Installation
Add Jet to your Flutter project:
dependencies:
jet: ^0.0.3-alpha.2
π Quick Start
- Create your app configuration:
import 'package:jet/jet.dart';
class AppConfig extends JetConfig {
@override
List<JetAdapter> get adapters => [RouterAdapter()];
@override
List<LocaleInfo> get supportedLocales => [
LocaleInfo(locale: const Locale('en'), displayName: 'English', nativeName: 'English'),
];
}
- Set up main.dart:
import 'package:jet/jet.dart';
import 'core/config/app_config.dart';
void main() async {
final config = AppConfig();
Jet.fly(
setup: () => Boot.start(config),
setupFinished: (jet) => Boot.finished(jet, config),
);
}
π― Key Features
- π Rapid Development - Get started in minutes with comprehensive setup
- π± Modern Architecture - Built on Riverpod 3 with code generation support
- π§ Type Safety - Full type safety across forms, networking, and state management
- π Internationalization - Built-in localization with RTL support
- π¨ Theming - Complete theme management with persistent storage
- π Security - App locking with biometric authentication
- π Forms - Advanced form management with validation and error handling
- π Networking - Type-safe HTTP client with configurable logging
- πΎ Storage - Secure storage for sensitive data and regular preferences
- π State Management - Unified state widgets with automatic loading/error states
- π Notifications - Cross-platform local notifications with scheduling and management
- π Debugging - Enhanced debugging tools with stack trace formatting
- π Sessions - Built-in authentication and session management
- π§© Components - Pre-built UI components for common patterns
π Documentation
For complete documentation, visit our GitHub repository.
π€ Contributing
We welcome contributions! Please see our contributing guidelines for details.
π License
This project is licensed under the MIT License - see the LICENSE file for details.
Libraries
- adapters/adapters
- adapters/jet_adapter
- adapters/notifications_adapter
- adapters/storage_adapter
- bootstrap/boot
- config/jet_config
- extensions/build_context
- extensions/data_time
- extensions/text_extensions
- forms/common
- forms/forms
- Jet Forms Module
- forms/inputs/inputs
- forms/inputs/jet_password_field
- forms/inputs/jet_phone_field
- forms/inputs/jet_pin_field
- forms/mixins/form_error_handling_mixin
- forms/mixins/form_lifecycle_mixin
- forms/mixins/form_validation_mixin
- forms/mixins/mixins
- forms/notifiers/jet_form_notifier
- forms/notifiers/notifiers
- Barrel export file for form notifiers
- forms/widgets/jet_form_builder
- forms/widgets/widgets
- Barrel export file for form widgets
- helpers/helpers
- helpers/jet_faker
- helpers/jet_logger
- jet
- jet_framework
- localization/i10n
- localization/intl/messages
- localization/intl/messages_ar
- localization/intl/messages_en
- localization/models/locale_info
- localization/notifiers/language_switcher_notifier
- localization/widgets/base_language_switcher
- localization/widgets/language_switcher
- networking/errors/errors
- networking/errors/jet_base_error_handler
- networking/errors/jet_error
- networking/errors/jet_error_handler
- networking/interceptors/jet_bearer_token_interceptor
- networking/interceptors/jet_dio_logger_config
- networking/interceptors/jet_dio_logger_interceptor
- networking/jet_api
- networking/networking
- notifications/jet_notifications
- notifications/notifications
- Jet Notifications Module
- resources/components/components
- resources/components/jet_empty_widget
- resources/components/jet_error_widget
- resources/components/jet_fetch_more_error_widget
- resources/components/jet_loader
- resources/components/jet_loading_more_widget
- resources/components/jet_no_more_items_widget
- resources/components/tabs/jet_tab
- resources/state
- resources/state/jet_builder
- resources/state/jet_consumer
- resources/state/jet_paginator
- resources/state/models
- Data models for Jet state management
- resources/theme/notifiers/theme_switcher_notifier
- resources/theme/widgets/base_theme_switcher
- resources/theme/widgets/bottom_sheet_theme_switcher
- resources/theme/widgets/theme_switcher
- router/jet_router
- router/router_provider
- security/app_locker/app_locker_notifier
- session/auth_provider
- session/session
- session/session_manager
- storage/local_storage
- storage/model
- widgets/main/jet_app
- widgets/widgets
- widgets/widgets/dialogs/show_adaptive_confirmation_dialog
- widgets/widgets/dialogs/show_adaptive_simple_dialog
- widgets/widgets/sheets/show_confirmation_sheet