zeba_academy_reading_tracker 0.0.1
zeba_academy_reading_tracker: ^0.0.1 copied to clipboard
A Flutter package for reading analytics & tracking system.
Zeba Academy Reading Tracker #
Package: zeba_academy_reading_tracker
A comprehensive Flutter package for tracking and analyzing reading habits. It supports reading streaks, daily reading time, chapter-wise progress, study heatmaps, and exporting reading stats.
Features #
- Reading Streak Tracking – Calculate consecutive reading days.
- Daily Reading Time – Track minutes read per day.
- Completion Percentage – Compute progress relative to total chapters.
- Chapter-wise Progress – Monitor which chapters are completed.
- Study Heatmap – Visualize reading intensity over days and weeks.
- Export Reading Stats – Retrieve reading data for reports or analysis.
Installation #
Add the package to your pubspec.yaml:
dependencies:
zeba_academy_reading_tracker:
git:
url: https://github.com/zeba-academy/zeba_academy_reading_tracker.git
ref: main
Then run:
flutter pub get
Usage #
Initialize the Tracker #
import 'package:zeba_academy_reading_tracker/zeba_academy_reading_tracker.dart';
void main() async {
await ReadingTracker.init();
}
Add a Reading Session #
final session = ReadingSession(
date: DateTime.now(),
minutesRead: 30,
chaptersCompleted: 1,
);
await ReadingTracker.addSession(session);
Get Reading Stats #
// Total minutes read
int totalMinutes = ReadingTracker.getTotalMinutes();
// Reading streak
int streak = ReadingTracker.getStreak();
// Completion percentage
double percentage = ReadingTracker.getCompletionPercentage(10);
// All sessions
List<ReadingSession> sessions = ReadingTracker.getSessions();
Display Study Heatmap #
import 'package:flutter/material.dart';
import 'package:zeba_academy_reading_tracker/src/heatmap.dart';
class HeatmapExample extends StatelessWidget {
const HeatmapExample({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: StudyHeatmap(weeks: 4),
),
);
}
}
Hive Integration #
- Uses
hive_flutterto store reading sessions locally. - Automatically registers adapters and opens a box.
- Supports in-memory Hive testing via
hive_test.
Testing #
Unit tests are included for all core functionality:
flutter test
- Reading streak calculation
- Completion percentage
- Total minutes
- Fetching all sessions
Example Project #
You can run an example project to see the package in action. Ensure ReadingTracker.init() is called before adding sessions or displaying the heatmap.
Contributing #
Contributions are welcome! Please fork the repository, make your changes, and submit a pull request.
License #
GPL License. See LICENSE file for details.