kickin 0.0.1+3 copy "kickin: ^0.0.1+3" to clipboard
kickin: ^0.0.1+3 copied to clipboard

A Flutter package that makes developments easier by providing commonly used utilities and widgets with just simple initialization.(In Progress)

Kickin #

A Flutter toolkit that eliminates boilerplate and speeds up development. It bundles networking, storage, utilities, state management helpers, extensions, and UI components — all under one package.

You can use the whole thing, or just the parts you need. Each sub-package also works independently.


Installation #

flutter pub add kickin

Or add it manually to your pubspec.yaml:

dependencies:
  kickin: ^0.0.1+3

Then import it:

import 'package:kickin/kickin.dart';

What's included #

Module What it gives you
Network HTTP client wrapper over Dio with typed responses, caching, and connectivity monitoring
Storage Hive-backed local storage: general, encrypted, and lazy-loaded boxes
Utilities Safe async operations (KResult), background isolates (KIsolate), logging
State Management Riverpod helpers: KAbsorber, KCachedNotifier, provider extensions
Extensions Shortcuts on BuildContext, num, Duration, and more
Widgets KScaffold, KSmoothListView, KAdaptiveImage, KAnimatedSizing, and others

Modules #

Network #

HTTP requests with typed responses, structured error handling, optional caching, and internet monitoring.

Built on top of Dio. See the full docs: kickin_network

// Define your API hub and feature clients once, use them anywhere
final result = await Api.instance.users.getProfile.catchErrorOnSendResult();

if (result.isSuccess) {
  print(result.value); // typed model
} else {
  print(result.error); // readable error string
}

Storage #

Three Hive box types for different storage needs.

See the full docs: kickin_storage

await KHive.on.initialize(initApp: true, initSecure: true);

// General
await KHive.on.app.setData(key: 'theme', value: 'dark');
final theme = KHive.on.app.getData(key: 'theme');

// Encrypted
await KHive.on.secure.setData(key: 'token', value: 'abc123');

Utilities #

Safe wrappers for async operations and background tasks.

See the full docs: kickin_utilities

// Run without try-catch — errors are captured in the result
final result = await KResult.tryRunAsync(() => fetchData());

if (result.isSuccess) {
  print(result.data);
} else {
  print(result.message);
}

State Management #

Riverpod helpers that let you consume providers without wrapping everything in a ConsumerWidget.

// Watch a provider inline, inside any widget tree
KAbsorber.watch(
  userProvider,
  builder: (ref, user, child) => Text(user.name),
);

// Read a provider value anywhere
final user = userProvider.read(ref);

Key classes: KAbsorber, KAbsorbRead, KAbsorbWatch, KWatchNotifier, KCachedNotifier


Extensions #

Shortcuts on common types to reduce noise in your code.

// Spacing
24.toVBox   // SizedBox(height: 24)
16.toHBox   // SizedBox(width: 16)

// Context helpers
context.isDarkMode
context.deviceWidth
context.topPadding

Key classes: Context extensions, Duration extensions, ProviderWarmupMixin, ScrollOffsetNotifierMixin


Widgets #

Ready-to-use UI components with sensible defaults.

KScaffold(
  title: 'Home',
  body: KSmoothListView(
    children: [
      KTopPadding.sliver(),
      KAdaptiveImage(
        path: KFilePath(path: localPath, url: 'https://...'),
        preferLocal: true,
      ),
      KBottomPadding.sliver(),
    ],
  ),
);

Key classes:

Widget / Class Purpose
KScaffold App shell with built-in app bar and footer support
KSmoothListView Smooth momentum scrolling (macOS/Windows style)
KSmoothCustomScrollView Same as above, for slivers
KAnimatedSizing Animated size transitions
KScaleGestureWrapper Scale-on-press gesture handler
KAdaptiveImage Loads from local path or URL, with fallback
KTopPadding / KBottomPadding Safe area padding helpers
KText Styled text with consistent typography

Use sub-packages independently #

Each module is available as its own package if you only need part of the toolkit:

Package Install
kickin_network flutter pub add kickin_network
kickin_storage flutter pub add kickin_storage
kickin_utilities flutter pub add kickin_utilities

Kickin is designed to be adopted in parts. Use what helps, skip what doesn't.

4
likes
160
points
127
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A Flutter package that makes developments easier by providing commonly used utilities and widgets with just simple initialization.(In Progress)

Homepage
Repository (GitHub)
View/report issues

License

BSD-3-Clause (license)

Dependencies

cached_network_image, flutter, flutter_animate, kickin_network, kickin_storage, kickin_utilities

More

Packages that depend on kickin