v0.1.0teqani_rewards
게임화 기능을 구현하기 위한 강력한 Flutter 패키지입니다. 성취 시스템, 스티크 추적, 시간 제한 도전과제를 포함하며 SharedPreferences, SQLite, Hive 및 Firebase 저장소 옵션을 지원합니다. 사용자 참여도와 행동을 추적하기 위한 내장된 Firebase Analytics를 제공합니다.
게임화 기능을 구현하기 위한 강력한 Flutter 패키지입니다. 성취 시스템, 스티크 추적, 시간 제한 도전과제를 포함하며 SharedPreferences, SQLite, Hive 및 Firebase 저장소 옵션을 지원합니다. 사용자 참여도와 행동을 추적하기 위한 내장된 Firebase Analytics를 제공합니다.
{"sdk":"flutter"}^2.2.2^2.3.0^1.8.3^2.2.3^1.1.0^4.13.6^2.24.2^4.15.3^10.7.4^6.1.1^0.19.0{"sdk":"flutter"}^5.0.3^3.0.3{"sdk":"flutter"}^3.0.1아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.
The most powerful and flexible gamification system for Flutter applications, developed by Teqani.org.
Pub Flutter Platform License: MIT Buy Me A Coffee
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.
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](mailto:contact@teqani.org) to discuss your ideas!
Teqani Rewards ensures your data is always secure and protected!
💡 SECURITY FIRST! Unlike other gamification packages, Teqani Rewards implements enterprise-grade security measures to protect your users' data and achievements.
Teqani Rewards works right out of the box with multiple storage options!
This means:
Simply add the package and start implementing gamification in minutes!
[SPECIAL HIGHLIGHT] Unlike other gamification packages, Teqani Rewards offers built-in analytics capabilities for tracking user engagement!
Our advanced analytics system supports:
No other Flutter gamification package offers such comprehensive analytics capabilities!
Add this top-rated package to your pubspec.yaml file:
dependencies:
teqani_rewards: ^0.1.0
Then run:
flutter pub get
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());
}
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);
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();
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();
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
],
),
);
}
}
Gamified Onboarding Demo
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 Demo
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 Demo
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,
),
],
);
Floating Streak Demo
TeqaniStreakWidgets.floating(
streak: Streak(
id: 'floating_streak',
currentStreak: 5,
longestStreak: 10,
lastActivityDate: DateTime.now(),
streakType: 'daily',
),
onUpdate: () {
// Handle streak update
},
);
Modern Streak Demo
TeqaniStreakWidgets.modern(
streak: Streak(
id: 'modern_streak',
currentStreak: 3,
longestStreak: 7,
lastActivityDate: DateTime.now(),
streakType: 'daily',
),
onUpdate: () {
// Handle streak update
},
);
Circular Progress Streak Demo
TeqaniStreakWidgets.circularProgress(
streak: Streak(
id: 'circular_streak',
currentStreak: 7,
longestStreak: 14,
lastActivityDate: DateTime.now(),
streakType: 'daily',
),
onUpdate: () {
// Handle streak update
},
);
Calendar View Streak Demo
TeqaniStreakWidgets.calendar(
streak: Streak(
id: 'calendar_streak',
currentStreak: 2,
longestStreak: 5,
lastActivityDate: DateTime.now(),
streakType: 'daily',
),
onUpdate: () {
// Handle streak update
},
);
Pulsating Streak Demo
TeqaniStreakWidgets.pulsating(
streak: Streak(
id: 'pulsating_streak',
currentStreak: 10,
longestStreak: 15,
lastActivityDate: DateTime.now(),
streakType: 'daily',
),
onUpdate: () {
// Handle streak update
},
);
Count Up Streak Demo
TeqaniStreakWidgets.countUp(
streak: Streak(
id: 'count_up_streak',
currentStreak: 1,
longestStreak: 3,
lastActivityDate: DateTime.now(),
streakType: 'daily',
),
onUpdate: () {
// Handle streak update
},
);
Cube Achievement Demo
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 Demo
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 Demo
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 Demo
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 Demo
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 Demo
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
},
);
Circular Challenge Demo
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 Demo
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 Demo
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 Demo
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 Demo
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 Demo
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
},
);
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.
This project is licensed under the MIT License - see the LICENSE file for details.
Copyright © 2025 Teqani.org. All rights reserved.