Search packages, repositories and app categories

GitHub repositorywhitecodel/whitecodel_reels

whitecodel_reels

whitecodel/whitecodel_reels open-source repository details.

whitecodel_reels project cover
Stars
6
Forks
7
Last push (UTC)
Jul 10, 2025
Project status
Active

Original README

English project snapshot. Visit GitHub for the latest content.

WhiteCodel Reels

Introduction

This package allows you to implement Instagram-like reels widgets in your Flutter application with minimal code. With whitecodel_reels, you can quickly add a reels widget featuring video content with interactive elements.

Features

  • Caching: The reels widget caches the video content to improve performance and reduce data usage.
  • Customizable: You can customize the reels widget with your own design and layout.
  • Interactive: You can add interactive elements to the reels widget.
  • Easy to use: You can easily integrate the reels widget in your Flutter application with minimal code.
  • Multiscreen Support: Use the controllerTag parameter to create multiple independent reels widgets on different screens or pages.

Installation

To use this package, add whitecodel_reels as a dependency in your pubspec.yaml file.

dependencies:
  whitecodel_reels: ^0.0.9+4

Android Configuration

For caching to work properly on Android, you need to add the following permissions to your AndroidManifest.xml file:

<uses-permission android:name="android.permission.INTERNET"/>

Also, ensure your application has the following configuration set:

<application
    android:networkSecurityConfig="@xml/network_security_config"
    ...
    >

And create a network security configuration file at android/app/src/main/res/xml/network_security_config.xml:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
  <base-config cleartextTrafficPermitted="true">
    <trust-anchors>
      <certificates src="system" />
    </trust-anchors>
  </base-config>

  <domain-config cleartextTrafficPermitted="true">
    <domain includeSubdomains="true">localhost</domain>
    <domain includeSubdomains="true">127.0.0.1</domain>
  </domain-config>
</network-security-config>

Usage Example

import 'package:flutter/material.dart';
import 'package:whitecodel_reels/models/video_model.dart';
import 'package:whitecodel_reels/whitecodel_reels.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        title: 'WhiteCodel Reels',
        theme: ThemeData(
          primarySwatch: Colors.blue,
        ),
        home: Scaffold(
          body: WhiteCodelReels(
              key: UniqueKey(),
              context: context,
              loader: const Center(
                child: CircularProgressIndicator(),
              ),
              videoList: List.generate(
                10,
                (index) => VideoModel(
                    url:
                        'https://flutter.github.io/assets-for-api-docs/assets/videos/butterfly.mp4'),
              ),
              isCaching: true,
              controllerTag: "home_reels", // Use a unique tag for each screen
              builder: (context, index, child, videoPlayerController,
                  pageController) {
                // Widget builder logic
                return child;
              }),
        ));
  }
}

Multiscreen Support

You can use multiple WhiteCodelReels widgets on different screens or pages by providing a unique controllerTag for each instance. This ensures each reels widget maintains its own state and playback independently.

// Example: Using different controllerTag for different screens
WhiteCodelReels(
  controllerTag: "home_reels",
  // ...other params...
);

WhiteCodelReels(
  controllerTag: "profile_reels",
  // ...other params...
);

Future Plans

  • Customizable: Add more customization options to the reels widget.
  • Speed Optimization: Improve the performance of the reels widget by optimizing the video loading speed.

AUTHOR

Bhawani Shankar

Bhawani Shankar GitHub avatar
GitHub author

Bhawani Shankar ↗

I’m Bhawani Shankar, a passionate Lead Flutter Developer with over 6 years of experience in mobile and web development.

@WhiteCodel-Community IndiaOfficial website ↗
LanguagesDartC++CMakeRubySwiftHTMLCJavaKotlinObjective-C

Packages published by this repository

Dependencies used

Dependency list 8 items

How do I choose a repository?

Start with your use case, compare repository activity, and check the original project before adopting it.

  1. Search by repository name, owner or description, then narrow the results by topic.
  2. Compare stars, forks and recent pushes. Stars show community interest, not a guarantee of quality.
  3. Read the README, license and issues on GitHub before using a project.

Sources and maintenance

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗