zeba_academy_learning_api_models 1.0.0
zeba_academy_learning_api_models: ^1.0.0 copied to clipboard
Production ready learning API models package
zeba_academy_learning_api_models #
A production-ready Flutter package containing reusable API models for learning platforms.
zeba_academy_learning_api_models provides clean, scalable, and null-safe data models for:
- Courses
- Students
- Quizzes
- Learning progress
- Certificates
Designed for Flutter applications, education platforms, LMS systems, and API-driven learning apps.
✨ Features #
✅ Course Models ✅ Student Models ✅ Quiz Models ✅ Progress Tracking Models ✅ Certificate Models ✅ JSON Serialization / Deserialization ✅ Null Safety Support ✅ Equatable Model Comparison ✅ Clean Architecture Friendly ✅ API Integration Ready ✅ Lightweight Dependency Usage
📦 Installation #
Add this package to your pubspec.yaml:
dependencies:
zeba_academy_learning_api_models: ^1.0.0
Then run:
flutter pub get
🚀 Usage #
Import the package:
import 'package:zeba_academy_learning_api_models/zeba_academy_learning_api_models.dart';
📚 Course Model #
Create a course:
final course = CourseModel(
id: "course_001",
title: "Flutter Development",
description:
"Learn Flutter from beginner to advanced",
instructor:
"Zeba Academy",
lessons: 50,
rating: 4.8,
);
Convert from JSON:
final course =
CourseModel.fromJson(jsonData);
Convert to JSON:
final data =
course.toJson();
👨🎓 Student Model #
final student = StudentModel(
id: "student_001",
name: "Alex",
email: "alex@example.com",
avatar:
"https://example.com/avatar.png",
);
📝 Quiz Model #
Create quiz questions:
final question = QuizQuestion(
question:
"What is Flutter?",
options:
[
"Dart Framework",
"Database",
"Server"
],
answer:
"Dart Framework"
);
Create quiz:
final quiz = QuizModel(
id:"quiz_001",
title:"Flutter Basics",
questions:
[
question
],
);
📈 Progress Model #
Track learning progress:
final progress = ProgressModel(
studentId:
"student_001",
courseId:
"course_001",
percentage:
75.5,
completed:
false,
);
🏆 Certificate Model #
final certificate =
CertificateModel(
id:"cert_001",
studentId:
"student_001",
courseId:
"course_001",
certificateUrl:
"https://example.com/certificate",
issuedDate:
DateTime.now(),
);
🔄 API Example #
Example API response:
{
"id":"course_001",
"title":"Flutter Development",
"description":"Learn Flutter",
"instructor":"Zeba Academy",
"lessons":50,
"rating":4.8
}
Convert:
CourseModel course =
CourseModel.fromJson(response);
🗂️ Folder Structure #
lib/
├── models/
│ ├── course_model.dart
│ ├── student_model.dart
│ ├── quiz_model.dart
│ ├── progress_model.dart
│ └── certificate_model.dart
└── zeba_academy_learning_api_models.dart
🛠️ Requirements #
Flutter:
>=3.0.0
Dart:
>=3.0.0
🤝 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
- Open a Pull Request
📄 License #
This project is licensed under the GNU General Public License v3.0.
You are free to:
- Use
- Modify
- Share
- Improve
under the terms of GPL-3.0.
See the full license:
LICENSE
👨💻 About Me #
✨ I’m Sufyan bin Uzayr, an open-source developer passionate about building and sharing meaningful projects.
Learn more:
🌐 Website: https://sufyanism.com/
LinkedIn:
https://www.linkedin.com/in/sufyanism
🚀 Your all-in-one learning hub! #
Explore courses and resources in coding, tech, and development.
Zeba Academy is a learning platform dedicated to coding, technology, and development.
Visit:
Hands-on learning:
YouTube:
https://www.youtube.com/@zeba.academy
Instagram:
https://www.instagram.com/zeba.academy/
⭐ Support #
If this package helps your project, consider giving it a star ⭐
Thank you for using:
zeba_academy_learning_api_models