sunshine_events 0.1.0 copy "sunshine_events: ^0.1.0" to clipboard
sunshine_events: ^0.1.0 copied to clipboard

retracted[pending analysis]

Automated event documentation with screenshots for Flutter applications.

sunshine #

pub package

Automated event documentation with screenshots for Flutter applications. No more spreadsheets or manual loggingβ€”just clear, consistent event records sent straight to your team board.

πŸŒ… What is sunshine? #

sunshine is a lightweight Dart package designed to work side by side with your current logging system. It automatically captures a screenshot and sends both the event metadata and image to a central board or endpoint. This helps teams:

  • Monitor which events are being sent.
  • Reduce the need for manual documentation.
  • Improve visibility and QA during development.

πŸ”§ Use Case #

Ever found yourself wondering:

  • "Which events have we already instrumented?"
  • "Did we forget to document this one?"
  • "Have we documented events sent by the new screen in the flow?"

With sunshine, all these questions are answered. Each time you send an event, a screenshot is captured and pushed with itβ€”making event tracking and QA much simpler.

πŸ§‘β€πŸ’» How to Use #

  1. In your app initialization, set up sunshine with the desired options:
SunshineAnalytics.setup(
  boardClient: miroBoardClient(
    boardId: "your_board_id",
    token: "your_api_token",
  ),
);
  1. To allow capturing screenshots you need to wrap the entire section you want to be tracked with a custom Sunshine widget.
runApp(
  MaterialApp(
    home: Sunshine(
      child: Home(),
    ),
  ),
);

example: main.dev.dart

  1. In your current centralized analytics logging, add sunshine logs:
class CurrentAnalyticsLogger {
  Future<void> logEvent(String name) {
    // current analytics logging.
    return SunshineAnalytics.log(name: name);
  }
}

Production builds #

Sending a screenshot for every event fired might become heavy for production builds. That is why we recommend setting sunshine up only for development/internal builds. That is usually enough to cover all app paths without adding overhead to your production users.

If SunshineAnalytics.setup is never called, SunshineAnalytics.log becomes a no-op. So your production app stays unaffected.

πŸ“‹ Available Board Integrations #

Currently supported:

  • βœ… Miro β†’ miroBoardClient

Planned:

  • ❌ Notion
  • ❌ Figma
  • ❌ Custom webhook

πŸ™‹β€β™‚οΈ Why "sunshine"? #

Just like sunshine makes things clear and visible, this package makes your event flow transparent for your whole team.

πŸ‘ Contributions #

Feel free to open issues or PRs! Feedback, ideas, and use cases are very welcome.

0
likes
0
points
122
downloads

Publisher

unverified uploader

Weekly Downloads

Automated event documentation with screenshots for Flutter applications.

Repository (GitHub)
View/report issues

License

(pending) (license)

Dependencies

flutter, http, http_parser, mutex, path_provider, screenshot

More

Packages that depend on sunshine_events