zeba_academy_reading_tracker 0.0.1 copy "zeba_academy_reading_tracker: ^0.0.1" to clipboard
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_flutter to 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.

0
likes
120
points
28
downloads

Documentation

API reference

Publisher

verified publisherzeba.academy

Weekly Downloads

A Flutter package for reading analytics & tracking system.

Homepage

License

unknown (license)

Dependencies

charts_flutter, flutter, hive, hive_flutter, intl, path_provider

More

Packages that depend on zeba_academy_reading_tracker