teqani_rewards 0.1.0
teqani_rewards: ^0.1.0 copied to clipboard
A powerful Flutter package for implementing gamification features. Includes achievement systems, streak tracking, and time-limited challenges with SharedPreferences, SQLite, Hive, and Firebase storage [...]
๐ Teqani Rewards for Flutter #
The most powerful and flexible gamification system for Flutter applications, developed by Teqani.org.
A complete solution for implementing engaging gamification in your Flutter apps with unmatched flexibility, superior performance, and advanced features not available in other packages.
๐ก MULTIPLE STORAGE OPTIONS! Unlike other gamification packages, Teqani Rewards supports multiple storage backends (SharedPreferences, SQLite, Hive, Firebase) with zero configuration needed.
โ Support This Project #
If you find this package helpful, consider buying us a coffee to support ongoing development and maintenance!
๐ค Need a custom Flutter package? Don't hesitate to reach out! We're passionate about building solutions that help the Flutter community. Contact us to discuss your ideas!
โจ Key Features #
- โ Multiple Storage Options - Choose from SharedPreferences, SQLite, Hive, or Firebase
- โ Achievement System - Track and reward user accomplishments
- โ Streak Tracking - Motivate users with daily engagement
- โ Time-Limited Challenges - Create urgency and excitement
- โ Customizable Themes - Match your app's design perfectly
- โ Firebase Analytics - Track user engagement and behavior
- โ Pre-built Widgets - Quick integration with beautiful UI
- โ Cross-Platform Support - Works flawlessly on iOS, Android, and Web
- โ Localization Support - Reach a global audience
- โ Dark/Light Mode - Perfect for any app theme
- โ Comprehensive API - Full control over all features
๐ Advanced Security Features #
Teqani Rewards ensures your data is always secure and protected!
- ๐ Data Encryption - All local data is encrypted using AES-256 encryption
- ๐ก๏ธ Secure Storage - Protected storage implementation for sensitive data
- ๐ Key Management - Secure key generation and management system
- ๐ Data Integrity - Automatic data validation and integrity checks
- ๐ซ Anti-Tampering - Protection against unauthorized modifications
- ๐ฑ Platform Security - Leverages platform-specific security features
- ๐ Audit Logging - Track all data access and modifications
- ๐งน Secure Cleanup - Proper data sanitization when removing data
๐ก SECURITY FIRST! Unlike other gamification packages, Teqani Rewards implements enterprise-grade security measures to protect your users' data and achievements.
๐ Zero Configuration Storage #
Teqani Rewards works right out of the box with multiple storage options!
This means:
- No complex database setup
- No server configuration needed
- Choose the storage that fits your needs
- Switch between storage types easily
- Simple setup without complex configurations
Simply add the package and start implementing gamification in minutes!
๐ PREMIUM FEATURE: Advanced Analytics Integration #
[SPECIAL HIGHLIGHT] Unlike other gamification packages, Teqani Rewards offers built-in analytics capabilities for tracking user engagement!
Our advanced analytics system supports:
- ๐ User Engagement Tracking - monitor achievement unlocks and streak progress
- โฑ๏ธ Time-Based Analytics - track user activity patterns
- ๐ฐ Reward Impact Analysis - measure the effectiveness of your rewards
- ๐ฏ Custom Event Tracking - log any user interaction
- ๐ฑ Cross-Platform Analytics - consistent tracking on all devices
- ๐ Performance Metrics - monitor system performance
No other Flutter gamification package offers such comprehensive analytics capabilities!
๐ฆ Installation #
Add this top-rated package to your pubspec.yaml
file:
dependencies:
teqani_rewards: ^0.1.0
Then run:
flutter pub get
๐ Basic Usage #
Get started quickly with this simple implementation:
import 'package:flutter/material.dart';
import 'package:teqani_rewards/teqani_rewards.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// Initialize Teqani Rewards
await TeqaniRewards.init(
theme: TeqaniRewardsTheme.defaultTheme,
storageType: StorageType.firebase,
enableAnalytics: true,
);
runApp(MyApp());
}
โ๏ธ Advanced Configuration Options #
Storage Configuration #
Choose and configure your preferred storage:
// SharedPreferences
final storage = StorageManager(type: StorageType.sharedPreferences);
// SQLite
final storage = StorageManager(type: StorageType.sqlite);
// Hive
final storage = StorageManager(type: StorageType.hive);
// Firebase
final storage = StorageManager(type: StorageType.firebase);
Achievement System #
Create and manage achievements:
// Save achievements
await storage.saveAchievements([
Achievement(
id: '1',
title: 'First Login',
description: 'Logged in for the first time',
points: 100,
),
]);
// Get achievements
final achievements = await storage.getAchievements();
Streak Management #
Track and update user streaks:
// Save streaks
await storage.saveStreaks([
Streak(
id: '1',
currentStreak: 5,
longestStreak: 10,
lastActivityDate: DateTime.now(),
),
]);
// Get streaks
final streaks = await storage.getStreaks();
๐ฑ Complete Implementation Example #
Create a fully-featured gamification system with just a few lines of code:
import 'package:flutter/material.dart';
import 'package:teqani_rewards/teqani_rewards.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await TeqaniRewards.init(
theme: TeqaniRewardsTheme.defaultTheme,
storageType: StorageType.firebase,
enableAnalytics: true,
);
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Teqani Rewards Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: RewardsDemo(),
);
}
}
class RewardsDemo extends StatefulWidget {
@override
_RewardsDemoState createState() => _RewardsDemoState();
}
class _RewardsDemoState extends State<RewardsDemo> {
late StorageManager _storage;
@override
void initState() {
super.initState();
_storage = StorageManager(type: StorageType.firebase);
_initializeStorage();
}
Future<void> _initializeStorage() async {
await _storage.initialize();
await _loadData();
}
Future<void> _loadData() async {
final achievements = await _storage.getAchievements();
final streaks = await _storage.getStreaks();
// Update UI with loaded data
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Teqani Rewards'),
),
body: Column(
children: [
// Add your widgets here
],
),
);
}
}
๐จ Widget Examples #
๐ฏ Onboarding Widgets #
Gamified Onboarding
GamifiedOnboardingDialog.showGamifiedOnboarding(
context,
title: 'Welcome to Teqani Rewards',
subtitle: 'Your journey to success begins here',
onComplete: () {},
steps: [
const OnboardingStep(
title: 'Welcome to Teqani Rewards',
description: 'Track your progress and earn rewards',
icon: Icons.star,
),
const OnboardingStep(
title: 'Streaks',
description: 'Maintain your daily streaks',
icon: Icons.local_fire_department,
),
const OnboardingStep(
title: 'Achievements',
description: 'Unlock achievements as you progress',
icon: Icons.emoji_events,
),
const OnboardingStep(
title: 'Challenges',
description: 'Complete challenges to earn rewards',
icon: Icons.flag,
),
],
);
Quest Onboarding
QuestOnboardingDialog.showQuestOnboarding(
context,
title: 'Your Quest Begins',
subtitle: 'Embark on an adventure of achievement',
onComplete: () {},
steps: [
const OnboardingStep(
title: 'Begin Your Journey',
description: 'Start your path to greatness',
icon: Icons.map,
),
const OnboardingStep(
title: 'Track Your Progress',
description: 'Watch your streaks grow',
icon: Icons.trending_up,
),
const OnboardingStep(
title: 'Collect Achievements',
description: 'Unlock badges and rewards',
icon: Icons.workspace_premium,
),
const OnboardingStep(
title: 'Complete Challenges',
description: 'Test your dedication',
icon: Icons.flag,
),
],
);
Pulse Onboarding
PulseOnboardingDialog.showPulseOnboarding(
context,
title: 'Get Started with Teqani',
subtitle: 'Experience the power of consistent progress',
onComplete: () {},
steps: [
const OnboardingStep(
title: 'Welcome to Teqani',
description: 'Your journey begins here',
icon: Icons.rocket_launch,
),
const OnboardingStep(
title: 'Build Your Streak',
description: 'Consistency is key to success',
icon: Icons.local_fire_department,
),
const OnboardingStep(
title: 'Earn Achievements',
description: 'Reach milestones and unlock rewards',
icon: Icons.emoji_events,
),
const OnboardingStep(
title: 'Take on Challenges',
description: 'Push yourself to new heights',
icon: Icons.flag,
),
],
);
๐ฅ Streak Widgets #
Floating Streak
TeqaniStreakWidgets.floating(
streak: Streak(
id: 'floating_streak',
currentStreak: 5,
longestStreak: 10,
lastActivityDate: DateTime.now(),
streakType: 'daily',
),
onUpdate: () {
// Handle streak update
},
);
Modern Streak
TeqaniStreakWidgets.modern(
streak: Streak(
id: 'modern_streak',
currentStreak: 3,
longestStreak: 7,
lastActivityDate: DateTime.now(),
streakType: 'daily',
),
onUpdate: () {
// Handle streak update
},
);
Circular Progress Streak
TeqaniStreakWidgets.circularProgress(
streak: Streak(
id: 'circular_streak',
currentStreak: 7,
longestStreak: 14,
lastActivityDate: DateTime.now(),
streakType: 'daily',
),
onUpdate: () {
// Handle streak update
},
);
Calendar View Streak
TeqaniStreakWidgets.calendar(
streak: Streak(
id: 'calendar_streak',
currentStreak: 2,
longestStreak: 5,
lastActivityDate: DateTime.now(),
streakType: 'daily',
),
onUpdate: () {
// Handle streak update
},
);
Pulsating Streak
TeqaniStreakWidgets.pulsating(
streak: Streak(
id: 'pulsating_streak',
currentStreak: 10,
longestStreak: 15,
lastActivityDate: DateTime.now(),
streakType: 'daily',
),
onUpdate: () {
// Handle streak update
},
);
Count Up Streak
TeqaniStreakWidgets.countUp(
streak: Streak(
id: 'count_up_streak',
currentStreak: 1,
longestStreak: 3,
lastActivityDate: DateTime.now(),
streakType: 'daily',
),
onUpdate: () {
// Handle streak update
},
);
๐ Achievement Widgets #
Cube Achievement
CubeAchievementCard(
achievement: Achievement(
id: 'first_streak',
title: 'First Streak',
description: 'Complete your first streak',
points: 100,
isUnlocked: true,
unlockedAt: DateTime.now(),
),
onComplete: () {
// Handle achievement completion
},
);
Prism Achievement
PrismAchievementCard(
achievement: Achievement(
id: 'seven_day_streak',
title: '7 Day Streak',
description: 'Maintain a streak for 7 days',
points: 200,
isUnlocked: false,
),
onComplete: () {
// Handle achievement completion
},
);
Pyramid Achievement
PyramidAchievementCard(
achievement: Achievement(
id: 'fourteen_day_streak',
title: '14 Day Streak',
description: 'Maintain a streak for 14 days',
points: 300,
isUnlocked: false,
),
onComplete: () {
// Handle achievement completion
},
);
Modern Achievement
ModernAchievementCard(
achievement: Achievement(
id: 'twenty_one_day_streak',
title: '21 Day Streak',
description: 'Maintain a streak for 21 days',
points: 400,
isUnlocked: false,
),
onComplete: () {
// Handle achievement completion
},
);
Minimalist Achievement
MinimalistAchievementCard(
achievement: Achievement(
id: 'twenty_eight_day_streak',
title: '28 Day Streak',
description: 'Maintain a streak for 28 days',
points: 500,
isUnlocked: false,
),
onComplete: () {
// Handle achievement completion
},
);
Gradient Achievement
GradientAchievementCard(
achievement: Achievement(
id: 'thirty_day_streak',
title: '30 Day Streak',
description: 'Maintain a streak for 30 days',
points: 600,
isUnlocked: false,
),
onComplete: () {
// Handle achievement completion
},
);
๐ฏ Challenge Widgets #
Circular Challenge
CircularChallengeCard(
challenge: Challenge(
id: 'daily_login',
title: 'Daily Login',
description: 'Log in every day for a week',
points: 100,
type: 'daily',
progress: 0.5,
startDate: DateTime.now(),
endDate: DateTime.now().add(const Duration(days: 7)),
isCompleted: false,
lastUpdated: DateTime.now(),
),
onComplete: () {
// Handle challenge completion
},
);
Timeline Challenge
TimelineChallengeCard(
challenge: Challenge(
id: 'two_week_streak',
title: 'Two Week Streak',
description: 'Maintain your streak for 14 days',
points: 200,
type: 'streak',
progress: 0.3,
startDate: DateTime.now(),
endDate: DateTime.now().add(const Duration(days: 14)),
isCompleted: false,
lastUpdated: DateTime.now(),
),
onComplete: () {
// Handle challenge completion
},
);
Flip Challenge
FlipChallengeCard(
challenge: Challenge(
id: 'three_week_streak',
title: 'Three Week Streak',
description: 'Maintain your streak for 21 days',
points: 300,
type: 'streak',
progress: 0.2,
startDate: DateTime.now(),
endDate: DateTime.now().add(const Duration(days: 21)),
isCompleted: false,
lastUpdated: DateTime.now(),
),
onComplete: () {
// Handle challenge completion
},
);
Pulse Challenge
PulseChallengeCard(
challenge: Challenge(
id: 'four_week_streak',
title: 'Four Week Streak',
description: 'Maintain your streak for 28 days',
points: 400,
type: 'streak',
progress: 0.1,
startDate: DateTime.now(),
endDate: DateTime.now().add(const Duration(days: 28)),
isCompleted: false,
lastUpdated: DateTime.now(),
),
onComplete: () {
// Handle challenge completion
},
);
Wave Challenge
WaveChallengeCard(
challenge: Challenge(
id: 'monthly_master',
title: 'Monthly Master',
description: 'Complete a 30-day streak',
points: 500,
type: 'streak',
progress: 0.05,
startDate: DateTime.now(),
endDate: DateTime.now().add(const Duration(days: 30)),
isCompleted: false,
lastUpdated: DateTime.now(),
),
onComplete: () {
// Handle challenge completion
},
);
Gradient Challenge
GradientChallengeCard(
challenge: Challenge(
id: 'ultimate_streak',
title: 'Ultimate Streak',
description: 'Complete a 100-day streak',
points: 1000,
type: 'streak',
progress: 0.01,
startDate: DateTime.now(),
endDate: DateTime.now().add(const Duration(days: 100)),
isCompleted: false,
lastUpdated: DateTime.now(),
),
onComplete: () {
// Handle challenge completion
},
);
๐ System Requirements #
- Flutter: >=3.0.0
- Dart: >=3.0.0
- Android: minSdkVersion 17 or higher
- iOS: iOS 9.0 or higher
๐ข About Teqani.org #
This premium package is developed and maintained by Teqani.org, a leading company specializing in innovative digital solutions and advanced Flutter applications. With years of experience creating high-performance gamification systems, our team ensures you get the best user engagement tools possible.
๐ข Why Choose Teqani Rewards? #
- Multiple Storage Options: Choose the perfect storage for your needs
- Superior Performance: Optimized for smooth operation on all devices
- Advanced Features: More capabilities than any other gamification package
- Analytics Ready: Built-in tracking for user engagement
- Professional Support: Backed by Teqani.org's expert team
- Regular Updates: Continuous improvements and new features
๐ License #
This project is licensed under the MIT License - see the LICENSE file for details.
Copyright ยฉ 2025 Teqani.org. All rights reserved.