Zeba Academy Learning Notification
A production-ready Flutter notification package designed for learning applications.
zeba_academy_learning_notification helps developers easily add learning-focused notifications including study reminders, achievements, smart schedules, and custom alerts.
⨠Features
š Study Reminders
Keep learners consistent by sending study reminders.
await notification.studyReminder(
message: "Complete Flutter practice today š",
);
š Achievement Alerts
Notify users when they complete milestones, earn XP, unlock achievements, or finish lessons.
await notification.achievement(
title: "Level Up š",
message: "You earned 100 XP",
);
ā° Smart Schedules
Schedule notifications for future learning activities using timezone support.
await notification.scheduleStudy(
schedule: ScheduleModel(
id: 1,
title: "Flutter Study",
time: tz.TZDateTime.now(
tz.local,
).add(
const Duration(minutes: 10),
),
),
);
š Custom Notifications
Create custom notifications for any use case.
await notification.custom(
id: 10,
title: "Assignment",
body: "Submit your project",
);
š¦ Installation
Add this package to your pubspec.yaml:
dependencies:
zeba_academy_learning_notification: ^1.0.0
Run:
flutter pub get
š Getting Started
Import the package:
import 'package:zeba_academy_learning_notification/zeba_academy_learning_notification.dart';
Create notification manager:
final notification =
LearningNotificationManager();
Initialize:
await notification.initialize();
Complete Example
import 'package:zeba_academy_learning_notification/zeba_academy_learning_notification.dart';
final manager =
LearningNotificationManager();
void setupNotifications() async {
await manager.initialize();
await manager.studyReminder(
message:
"Time to learn Flutter",
);
await manager.achievement(
title:
"Achievement Unlocked š",
message:
"You completed a lesson",
);
await manager.custom(
id: 5,
title:
"Learning Reminder",
body:
"Open your course",
);
}
š¤ Android Configuration
Add permissions:
android/app/src/main/AndroidManifest.xml
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM"/>
š iOS Configuration
Enable notification permissions:
UNUserNotificationCenter.current()
.requestAuthorization(
options:[
.alert,
.badge,
.sound
]
)
š Package Structure
lib/
āāā zeba_academy_learning_notification.dart
āāā src/
āāā models/
ā āāā notification_model.dart
ā āāā schedule_model.dart
āāā services/
ā āāā notification_service.dart
ā āāā scheduler_service.dart
āāā managers/
āāā learning_notification_manager.dart
š” Use Cases
Perfect for:
- š Online learning apps
- š» Coding platforms
- š Course applications
- š Gamified education systems
- š Study planners
- š Productivity applications
Dependencies
This package uses:
flutter_local_notificationstimezoneintl
šØāš» About Me
⨠Iām Sufyan bin Uzayr, an open-source developer passionate about building and sharing meaningful projects.
Learn more:
LinkedIn:
https://www.linkedin.com/in/sufyanism
š Zeba Academy
Your all-in-one learning hub!
š Explore courses and resources in:
- Coding
- Technology
- Development
Main Website:
Hands-on learning:
YouTube:
https://www.youtube.com/@zeba.academy
Instagram:
https://www.instagram.com/zeba.academy/
š¤ Contributing
Contributions are welcome.
Steps:
-
Fork this repository
-
Create a feature branch
-
Make changes
-
Submit a pull request
š License
Copyright (C) 2026 Sufyan bin Uzayr
This project is licensed under the GNU General Public License v3.0.
You are free to:
- Use
- Modify
- Share
- Distribute
- Improve
Under the terms of GPL-3.0.
See the LICENSE file for complete details.
ā Support
If you find this package useful:
ā Star the repository
š Report issues
š” Suggest features
Thank you for using:
Zeba Academy Learning Notification š