zeba_academy_reward_center 1.0.0 copy "zeba_academy_reward_center: ^1.0.0" to clipboard
zeba_academy_reward_center: ^1.0.0 copied to clipboard

Reward center package with points, badges, achievements and levels.

Zeba Academy Reward Center #

pub package License: GPL v3 Flutter Dart

A powerful, customizable, and developer-friendly Flutter package for building gamified reward systems in your applications.

Easily integrate points, badges, achievements, reward catalogs, and user levels into educational platforms, e-learning apps, communities, productivity tools, fitness applications, loyalty programs, games, and more.


โœจ Features #

  • ๐ŸŽฏ Points Management
  • ๐Ÿ… Badge System
  • ๐Ÿ† Achievement Engine
  • ๐ŸŽ Reward Catalog
  • ๐Ÿ“ˆ User Levels
  • ๐Ÿ“ฆ Lightweight and Modular
  • ๐ŸŽจ Ready-to-use Flutter Widgets
  • โšก Fast and Easy Integration
  • ๐Ÿ”’ Null Safety Support
  • โค๏ธ Clean API
  • ๐Ÿงช Unit Test Friendly
  • ๐ŸŒ Works Offline
  • ๐Ÿ”ฅ Firebase Ready
  • ๐Ÿ“ฑ Android, iOS, Web, Windows, Linux & macOS Support

Platform Support #

Platform Supported
Android โœ…
iOS โœ…
Web โœ…
Windows โœ…
macOS โœ…
Linux โœ…

Installation #

Add the package to your project.

dependencies:
  zeba_academy_reward_center: latest

Then run

flutter pub get

Import

import 'package:zeba_academy_reward_center/zeba_academy_reward_center.dart';

Features Overview #

โญ Points System #

Reward users for completing actions.

final user = RewardUser(
  id: "1",
  name: "John",
);

final updated =
    PointsService().addPoints(user, 100);

print(updated.points);

๐Ÿ… Badge System #

Unlock badges when users reach milestones.

const badge = RewardBadge(
  id: "starter",
  title: "Starter",
  description: "First Badge",
  icon: "๐Ÿ…",
);

final updated =
    BadgeService().unlockBadge(user, badge);

๐Ÿ† Achievement System #

Track accomplishments.

const achievement = Achievement(
  id: "100",
  title: "100 Points",
  description: "Earn 100 points",
  requiredPoints: 100,
);

AchievementService().check(
  user,
  achievement,
);

๐ŸŽ Reward Catalog #

Redeem rewards using earned points.

const reward = RewardItem(
  id: "coffee",
  name: "Coffee Coupon",
  description: "Free Coffee",
  cost: 200,
);

RewardService().redeem(
  user,
  reward,
);

๐Ÿ“ˆ User Levels #

Automatically calculate user levels.

final level =
    LevelService().getLevel(user.points);

print(level.title);

Included Models #

RewardUser #

RewardUser(
  id: "1",
  name: "John",
  points: 250,
  badges: [],
  achievements: [],
)

RewardBadge #

RewardBadge(
  id: "gold",
  title: "Gold Member",
  description: "Reach Gold Level",
  icon: "๐Ÿฅ‡",
)

Achievement #

Achievement(
  id: "1000",
  title: "1000 Points",
  description: "Earn 1000 points",
  requiredPoints: 1000,
)

RewardItem #

RewardItem(
  id: "gift",
  name: "Gift Card",
  description: "Amazon Gift Card",
  cost: 500,
)

UserLevel #

UserLevel(
  level: 3,
  title: "Pro",
  requiredPoints: 1000,
)

Included Services #

Service Description
PointsService Add and remove points
BadgeService Unlock badges
AchievementService Unlock achievements
RewardService Redeem rewards
LevelService Calculate user levels

Widgets #

The package includes reusable widgets.

  • PointsCard
  • BadgeCard
  • LevelProgress

Example

PointsCard(
  points: 500,
)

Complete Example #

import 'package:flutter/material.dart';
import 'package:zeba_academy_reward_center/zeba_academy_reward_center.dart';

void main() {
  runApp(const MyApp());
}

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

  @override
  Widget build(BuildContext context) {
    final user = RewardUser(
      id: "1",
      name: "Alice",
    );

    final updated =
        PointsService().addPoints(user, 250);

    final level =
        LevelService().getLevel(updated.points);

    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text("Reward Center"),
        ),
        body: Column(
          children: [
            PointsCard(
              points: updated.points,
            ),
            LevelProgress(
              current: updated.points,
              target: 1000,
            ),
            Text(level.title),
          ],
        ),
      ),
    );
  }
}

Roadmap #

  • Daily Rewards
  • Login Rewards
  • Streak Rewards
  • XP System
  • Leaderboards
  • Reward History
  • Coupon Support
  • Digital Rewards
  • Animated Widgets
  • Firebase Integration
  • Riverpod Integration
  • Bloc Integration
  • Localization
  • Theme Customization
  • Achievement Notifications

Why Use This Package? #

  • Simple API
  • Clean Architecture
  • Modular Design
  • Production Ready
  • Lightweight
  • Easily Extendable
  • Flutter Best Practices
  • Null Safety
  • Highly Customizable

Contributing #

Contributions are welcome.

If you discover bugs, have feature requests, or would like to contribute improvements, feel free to open an issue or submit a pull request.

Please ensure your code follows Dart and Flutter best practices.


License #

This project is licensed under the GNU General Public License v3.0 (GPL-3.0).

You are free to:

  • Use
  • Modify
  • Distribute
  • Study

under the terms of the GPL v3 License.

See the LICENSE file for complete details.


About Me #

โœจ Iโ€™m Sufyan bin Uzayr, an open-source developer passionate about building and sharing meaningful projects.

You can learn more about me and my work at https://sufyanism.com/ or connect with me on LinkedIn:

https://www.linkedin.com/in/sufyanism


Your all-in-one learning hub! #

๐Ÿš€ Explore courses and resources in coding, technology, and software development.

Zeba Academy #

Zeba Academy is a learning platform dedicated to coding, technology, and development.

๐ŸŒ Website
https://zeba.academy

๐Ÿ’ป Learning Platform
https://code.zeba.academy

โ–ถ๏ธ YouTube
https://www.youtube.com/@zeba.academy

๐Ÿ“ท Instagram
https://www.instagram.com/zeba.academy/


Support #

If you find this package helpful, please consider:

  • โญ Starring the repository
  • ๐Ÿ‘ Liking and sharing
  • ๐Ÿž Reporting issues
  • ๐Ÿ’ก Suggesting new features
  • ๐Ÿค Contributing to development

Every contribution helps improve the project for the Flutter community.


Made with โค๏ธ using Flutter.

Happy Coding! ๐Ÿš€

0
likes
140
points
51
downloads

Documentation

API reference

Publisher

verified publisherzeba.academy

Weekly Downloads

Reward center package with points, badges, achievements and levels.

Homepage

License

GPL-3.0 (license)

Dependencies

equatable, flutter

More

Packages that depend on zeba_academy_reward_center