ispect 4.1.3-dev12 copy "ispect: ^4.1.3-dev12" to clipboard
ispect: ^4.1.3-dev12 copied to clipboard

A Handy Toolkit for Mobile App Debugging. ISpect is a simple yet versatile library inspired by web inspectors, tailored for mobile application development.

Core debugging interface and inspection toolkit for Flutter development

pub version License: MIT GitHub stars

Pub likes Pub points

πŸ” Overview #

ISpect is the main debugging and inspection toolkit designed specifically for Flutter applications.

πŸ“Š Real-time Monitoring β€’ πŸ› Debugging β€’ πŸ” Inspection β€’ ⚑ Performance Tracking

ISpect empowers Flutter developers with a suite of debugging tools that seamlessly integrate into your development workflow. From monitoring HTTP requests in real-time to tracking performance metrics and managing application state, ISpect provides an intuitive interface that makes debugging efficient and insightful.

🎯 Key Features #

  • 🌐 Network Monitoring: Detailed HTTP request/response inspection with error tracking
  • πŸ“ Comprehensive Logging: Advanced logging system with categorization and filtering
  • ⚑ Performance Analysis: Real-time performance metrics and monitoring
  • πŸ” UI Inspector: Widget hierarchy inspection with color picker and layout analysis
  • πŸ“± Device Information: System and app metadata collection
  • πŸ› Bug Reporting: Integrated feedback system with screenshot capture
  • πŸ—„οΈ Cache Management: Application cache inspection and management

✨ Features #

πŸ” Network Inspection #

  • Real-time HTTP request/response monitoring
  • Detailed request headers, body, and parameters
  • Response data with status codes and timing
  • Error logging with stack traces
  • Support for both Dio and standard HTTP clients

πŸ“Š Advanced Logging #

  • Structured log categorization (info, debug, warning, error)
  • Custom log types with color coding
  • Real-time log filtering and search
  • Export functionality for logs
  • BLoC event and state change tracking

🎯 UI Development Tools #

  • Widget inspector with hierarchy visualization
  • Color picker for design consistency
  • Layout analysis and debugging
  • Performance overlay with FPS monitoring
  • Screenshot capture with annotation tools

πŸ“± Device & Environment Info #

  • Device specifications and capabilities
  • Application metadata and build information
  • Cache usage monitoring and management
  • System resource utilization

πŸ› Bug Reporting #

  • Integrated feedback system
  • Screenshot capture with drawing tools
  • Automatic device and app context collection
  • Jira integration for ticket creation

🌐 Internationalization #

  • Support for 12 languages: English, Russian, Kazakh, Chinese, Spanish, French, German, Portuguese, Arabic, Korean, Japanese, Hindi
  • Extensible localization system

πŸ“± Interface Preview #

πŸ“¦ Installation #

Add ispect to your pubspec.yaml:

dependencies:
  ispect: ^4.1.3

πŸš€ Quick Start #

import 'package:ispect/ispect.dart';
import 'package:ispectify/ispectify.dart';

void main() {
  // Initialize ISpectify for logging
  final ispectify = ISpectify();
  
  // Wrap your app with ISpect
  ISpect.run(
    () => runApp(MyApp()),
    ispectify: ispectify,
  );
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ISpectScopeWrapper(
      child: MaterialApp(
        // Add ISpect to your app
        builder: (context, child) => ISpectBuilder(
          child: child ?? const SizedBox.shrink(),
        ),
        
        // Add navigation observer
        navigatorObservers: [
          ISpectNavigatorObserver(),
        ],
        
        home: HomePage(),
      ),
    );
  }
}

βš™οΈ Advanced Configuration #

🎨 Custom Theming #

ISpectScopeWrapper(
  theme: ISpectTheme(
    logColors: {
      'custom-log': Colors.purple,
    },
    logIcons: {
      'http-request': Icons.send,
      'http-response': Icons.receipt,
    },
  ),
  child: MaterialApp(/* ... */),
)

πŸŽ›οΈ Panel Customization #

ISpectScopeWrapper(
  options: ISpectOptions(
    panelButtons: [
      ('Custom Action', Icons.star, () {
        // Custom action
      }),
    ],
  ),
  child: MaterialApp(/* ... */),
)

πŸ—ΊοΈ Router Integration (GoRouter) #

For GoRouter, add a listener to track route changes:

_router.routerDelegate.addListener(() {
  final location = _router.routerDelegate
    .currentConfiguration.last.matchedLocation;
  ISpect.route(location);
});

πŸ“š Examples #

Complete example applications are available in the example/ directory demonstrating core functionality.

πŸ—οΈ Architecture #

ISpect is built as a modular system with specialized packages:

Package Purpose Version
ispect Core debugging interface and tools pub
ispectify Foundation logging system (based on Talker) pub
ispectify_dio Dio HTTP client integration pub
ispectify_http Standard HTTP client integration pub
ispectify_bloc BLoC state management integration pub
ispect_jira Jira ticket creation integration pub

🀝 Contributing #

Contributions are welcome! Please read our contributing guidelines and submit pull requests to the main branch.

πŸ“„ License #

This project is licensed under the MIT License - see the LICENSE file for details.

  • ispectify - Foundation logging system
  • ispectify_dio - Dio HTTP client integration
  • ispectify_http - Standard HTTP client integration
  • ispectify_bloc - BLoC state management integration
  • ispect_jira - Jira ticket creation integration

Built with ❀️ for the Flutter community

21
likes
0
points
4.26k
downloads

Publisher

verified publishershodev.live

Weekly Downloads

A Handy Toolkit for Mobile App Debugging. ISpect is a simple yet versatile library inspired by web inspectors, tailored for mobile application development.

Repository (GitHub)
View/report issues

Topics

#inspector #ispect #debug #toolkit #debug-toolkit

License

unknown (license)

Dependencies

device_info_plus, draggable_panel, flutter, flutter_localizations, intl, ispectify, meta, package_info_plus, path, path_provider, provider, scrollable_positioned_list, share_plus, web

More

Packages that depend on ispect