zeba_academy_learning_journal 0.0.1
zeba_academy_learning_journal: ^0.0.1 copied to clipboard
A Flutter learning journal package with daily notes, learning goals, reflections, tags, search and export features.
Zeba Academy Learning Journal šāØ #
A Flutter package for creating a powerful learning journal experience with daily notes, learning goals, reflections, tags, search, and export functionality.
Build better learning habits by documenting progress, tracking goals, and reflecting on your journey.
Features š #
ā Daily learning notes ā Learning goals tracking ā Reflection entries ā Tag-based organization ā Search journal entries ā Export journal notes ā Clean reusable Flutter widgets ā Developer-friendly API ā Lightweight and customizable
Installation #
Add this package to your pubspec.yaml:
dependencies:
zeba_academy_learning_journal: ^0.0.1
Then run:
flutter pub get
Usage #
Import the package:
import 'package:zeba_academy_learning_journal/zeba_academy_learning_journal.dart';
Create Journal Controller #
final journal = JournalController();
Add Daily Note #
journal.addEntry(
title: "Flutter Learning",
content:
"Today I learned Flutter package development",
reflection:
"I improved my understanding of reusable components",
tags:
[
"flutter",
"development",
"learning"
],
);
Display Journal Entries #
ListView.builder(
itemCount: journal.entries.length,
itemBuilder:(context,index){
final entry =
journal.entries[index];
return JournalCard(
entry: entry,
);
}
);
Search Entries #
final results =
journal.search(
"Flutter"
);
Search works with:
- Title
- Content
- Tags
Filter By Tags #
final flutterNotes =
journal.filterByTag(
"flutter"
);
Delete Entry #
journal.deleteEntry(
entryId
);
Export Notes #
Export all journal entries as a text file:
await ExportService.exportJournal(
journal.entries,
);
The exported file can be shared using the device sharing system.
Widgets Included #
JournalCard #
Displays journal entry cards.
JournalCard(
entry: entry,
);
JournalEditor #
Ready-made journal input form.
JournalEditor(
onSave:
(title,content,reflection,tags){
journal.addEntry(
title:title,
content:content,
reflection:reflection,
tags:tags,
);
}
)
JournalSearch #
Search widget.
JournalSearch(
onSearch:(query){
final result =
journal.search(query);
}
)
Folder Structure #
lib/
src/
āāā models/
ā āāā journal_entry.dart
āāā controllers/
ā āāā journal_controller.dart
āāā services/
ā āāā export_service.dart
āāā widgets/
āāā journal_card.dart
āāā journal_editor.dart
āāā journal_search.dart
Requirements #
Flutter:
>=3.0.0
Dart:
^3.12.0
Roadmap š£ļø #
Upcoming features:
- ā Local database support
- ā Hive storage
- ā JSON backup
- ā Markdown notes
- ā Learning streaks
- ā Calendar journal view
- ā Mood tracking
- ā Dark mode support
- ā Cloud sync
About Me #
⨠Iām Sufyan bin Uzayr, an open-source developer passionate about building and sharing meaningful projects.
You can learn more about me and my work:
š Website: https://sufyanism.com/
š¼ LinkedIn: https://www.linkedin.com/in/sufyanism
Zeba Academy š #
Your all-in-one learning hub!
Explore courses and resources in coding, technology, and development.
Learn practical skills through:
- Curated tutorials
- Real-world projects
- Hands-on development
Level up your tech journey today! š»āØ
Main Website:
Learning Platform:
YouTube:
https://www.youtube.com/@zeba.academy
Instagram:
https://www.instagram.com/zeba.academy/
Contributing #
Contributions are welcome!
Steps:
-
Fork the repository
-
Create a feature branch
git checkout -b feature/new-feature
- Commit changes
git commit -m "Add new feature"
- Push branch
git push origin feature/new-feature
- Create a Pull Request
License #
This project is licensed under the GNU General Public License v3.0 (GPL-3.0).
You are free to:
ā Use ā Modify ā Share ā Distribute
Under the terms of the GPL-3.0 license.
See the LICENSE file for details.
Made with ā¤ļø using Flutter
Ā© Zeba Academy