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!
Packages
ISpect can be extended using other parts of this package
Package | Version | Description |
---|---|---|
ispect | Main package of ISpect | |
ispect_ai | An add-on package to use the Gemini AI Api to generate a report and log questions |
|
ispect_jira | An add-on package to use the Jira Atlassian Api to create issue tickets immediately via Feedback |
|
ispect_device | An additional package for using tools to view platform & device info. | |
ispectify | An additional package for logging and handling. Based on Talker . |
|
ispectify_bloc | An additional package for logging and handling BLoC . |
|
ispectify_dio | An additional package for logging and handling Dio . |
|
ispectify_http | 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 onTalker
) 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)
- Detailed
- β 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:
- Wrap
runApp
withISpect.run
method and passISpectify
instance to it. - Wrap your root widget with
ISpectScopeWrapper
widget to enableISpect
where you can pass theme and options. - Add
ISpectBuilder
widget to your material app's builder and putNavigatorObserver
. - Add
ISpectLocalizations
to yourlocalizationsDelegates
inMaterialApp
.
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.