zeba_academy_reward_center 1.0.0
zeba_academy_reward_center: ^1.0.0 copied to clipboard
Reward center package with points, badges, achievements and levels.
Zeba Academy Reward Center #
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! ๐