A Handy Toolkit for Mobile App Debugging πŸš€

ISpect is a simple yet versatile library inspired by web inspectors, tailored for mobile application development. ISpect is a collection of refined tools from trusted sources, enhanced with custom improvements to simplify development. It’s designed to boost efficiency and adapt to various project needs.

Your feedback is highly valued as it will help shape future updates and ensure the package remains relevant and useful. 😊


Show some ❀️ and star the repo to support the project!

Pub License: MIT Pub

Pub likes Pub popularity Pub points


Packages

ISpect can be extended using other parts of this package

Package Version Description
ispect Pub Main package of ISpect
ispect_ai Pub An add-on package to use the Gemini AI Api to generate a report and log questions
ispect_jira Pub An add-on package to use the Jira Atlassian Api to create issue tickets immediately via Feedback
ispect_device Pub An additional package for using tools to view platform & device info.
ispectify Pub An additional package for logging and handling. Based on Talker.
ispectify_bloc Pub An additional package for logging and handling BLoC.
ispectify_dio Pub An additional package for logging and handling Dio.
ispectify_http Pub An additional package for logging and handling http.

πŸ“Œ Features

  • βœ… Draggable panel for route to ISpect page and manage Inspector tools You can also use it separately: https://pub.dev/packages/draggable_panel
  • βœ… Localizations: ru, en, kk. (I will add more translations in the future.)
  • βœ… ISpectify logger (inspired on Talker) implementation: BLoC, Dio, http, Routing, Provider
  • βœ… You can customize more options during initialization of ISpect like BLoC, Dispatcher error and etc.
  • βœ… Updated ISpect page: added more options.
    • Detailed HTTP logs: request, response, error
    • Debug tools
    • Cache manager
    • Device and app info (ispect_device)
  • βœ… Feedback builder from pub.dev/feedback
  • βœ… Performance tracker
  • βœ… AI helper

πŸ“œ Showcase

Easy to use

Simple example of use ISpect
You can manage ISpect using ISpect.read(context). Put this code in your project at an screen and learn how it works. 😊

Instructions for use:

  1. Wrap runApp with ISpect.run method and pass ISpectify instance to it.
  2. Wrap your root widget with ISpectScopeWrapper widget to enable ISpect where you can pass theme and options.
  3. Add ISpectBuilder widget to your material app's builder and put NavigatorObserver.
  4. Add ISpectLocalizations to your localizationsDelegates in MaterialApp.
localizationsDelegates: ISpectLocalizations.localizationDelegates([ // ISpect localization delegates
          ExampleGeneratedLocalization.delegate, // Your localization delegate
        ]),

Please, check the example for more details.

Note

  • To add ISpect AI helper, follow the instructions provided here ispect_ai.

You can also check out an example of usage directly in ispect_ai/example.

  • To add ISpect Jira, follow the instructions provided here ispect_jira.

You can also check out an example of usage directly in ispect_jira/example.

  • To platform & device tools follow the instructions provided here ispect_device.

You can also check out an example of usage directly in ispect_device/example.

For handle routing (GoRouter)

You can use ISpectNavigatorObserver, but in practice it does not always work correctly with the GoRouter package. You need add observer in each GoRoute. Alternatively, you can use a listener:

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

Referenced packages:

A list of great packages I've used in ISpect: path_provider, device_info_plus, share_plus, package_info_plus, gap, auto_size_text, feedback, inspector, performance, cr_json_widget.


Thanks to all contributors of this package


Libraries

ispect