Zeba Academy Learning Community
A Flutter package for building learning communities with student profiles, posts, discussions, reactions, following system, and personalized learning feeds.
โจ About
Zeba Academy Learning Community is a reusable Flutter package that helps developers create educational social platforms.
It provides ready-to-use community features:
- Student profiles
- Learning posts
- Discussions
- Comments
- Reactions
- Following system
- Personalized learning feeds
Built with Flutter โค๏ธ for developers creating collaborative learning experiences.
๐จโ๐ป 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 coding, technology, and development resources.
Learn through:
- Practical tutorials
- Real-world projects
- Hands-on experience
- Developer resources
Main Website:
Courses:
YouTube:
https://www.youtube.com/@zeba.academy
Instagram:
https://www.instagram.com/zeba.academy/
๐ฆ Installation
Add dependency:
dependencies:
zeba_academy_learning_community: ^0.0.1
Run:
flutter pub get
โจ Features
๐ค Student Profiles
Create student accounts with:
- Name
- Bio
- Avatar
- Followers
- Following
Example:
Student(
id:"1",
name:"Sufyan",
bio:"Flutter Developer",
avatar:"image_url",
);
๐ Posts
Students can share learning content.
Example:
Post(
id:"post1",
authorId:"1",
content:
"Learning Flutter packages ๐",
createdAt:
DateTime.now(),
);
๐ฌ Discussions
Create conversations using comments.
Example:
Comment(
id:"comment1",
userId:"1",
text:
"Great explanation!",
createdAt:
DateTime.now(),
);
โค๏ธ Reactions
Engage with posts using reactions.
Available:
- Like
- Love
- Celebrate
- Helpful
Example:
community.react(
"postId",
"studentId",
"like"
);
๐ฅ Following System
Students can follow other learners.
Example:
community.follow(
"studentId",
"targetStudentId"
);
๐ฐ Learning Feed
Generate personalized learning feeds.
Example:
FeedView(
controller: community,
studentId:"1",
);
๐ Usage
Import:
import 'package:zeba_academy_learning_community/zeba_academy_learning_community.dart';
Create controller:
final community =
CommunityController();
Add student:
community.addStudent(
Student(
id:"1",
name:"Alex",
bio:"Mobile Developer",
avatar:"avatar_url",
)
);
Create post:
community.createPost(
Post(
id:"1",
authorId:"1",
content:
"Flutter is amazing!",
createdAt:
DateTime.now(),
)
);
๐ Project Structure
lib/
โโโ models/
โ โโโ student.dart
โ โโโ post.dart
โ โโโ comment.dart
โ โโโ reaction.dart
โโโ core/
โ โโโ community_controller.dart
โโโ widgets/
โ โโโ student_card.dart
โ โโโ post_card.dart
โ โโโ feed_view.dart
โ โโโ profile_view.dart
โโโ zeba_academy_learning_community.dart
๐ Backend Support
This package is backend independent.
You can connect it with:
- Firebase
- REST API
- GraphQL
- Supabase
- Local Database
Recommended:
- Firebase Authentication
- Cloud Firestore
- Firebase Storage
๐งช Testing
Run:
flutter test
๐ค Contributing
Contributions are welcome.
Steps:
Create branch:
git checkout -b feature/new-feature
Commit:
git commit -m "Add new feature"
Push:
git push origin feature/new-feature
Create Pull Request.
๐ License
Licensed under the GNU General Public License v3.0.
You are free to:
โ Use
โ Modify
โ Distribute
โ Improve
Any distributed modifications must remain open source under GPL.
License:
https://www.gnu.org/licenses/gpl-3.0.html
โญ Support
If this package helps you:
โญ Star the repository
โญ Share it
โญ Contribute improvements
Made with โค๏ธ by Sufyan bin Uzayr