Knowva – Sparking a New Era of Knowledge.
Knowva is a comprehensive mobile-first AI-powered educational platform designed to revolutionize teaching and learning experiences. By automating core educational processes and providing intelligent insights, Knowva empowers teachers to manage their classrooms more efficiently while enhancing student engagement and learning outcomes.
The name Knowva combines "Know" (knowledge) and "Nova" (a new bright star), symbolizing a new light in the world of education. It reflects our mission to revolutionize learning by blending knowledge with innovation, creating a brighter future for educators and students worldwide.
- AI-Powered Quiz Generation: Automatically generate comprehensive quizzes from learning materials using advanced NLP and Generative models
- AI Auto-Grading: Intelligent automated exam correction with detailed feedback generation
- AI Revision Chatbot: Interactive topic-specific learning assistant for personalized student support
- AI Feedback System: Advanced AI-powered feedback generation with three specialized models:
- Group Feedback (Teacher): Comprehensive class-wide performance analysis and improvement recommendations
- Student Feedback (Teacher): Personalized individual student assessment with targeted learning suggestions
- Exam Feedback (Student): Detailed post-exam analysis with explanations, weak areas identification, and study recommendations
- Smart Analytics: AI-driven insights for performance analysis and learning recommendations
- Material Upload & Management: Upload and organize subject materials (PDFs, images, videos) with cloud storage
- Advanced Exam Management: Create, schedule, and manage exams with multiple question types:
- Multiple Choice Questions (MCQ)
- True/False Questions
- Written Response Questions
- Automated grading for objective questions
- Comprehensive Analytics Dashboard:
- Real-time student performance tracking
- Class-wide insights and progress monitoring
- Most-missed questions analysis
- Topic-wise difficulty assessment
- Group & Subject Management: Organize students into groups with subject-specific assignments
- Timetable Management: Create and manage class schedules with automated notifications
- Parent Communication: Generate and share detailed student performance reports
- Feedback System: Provide personalized feedback and recommendations
- Interactive Exam Experience: Take exams with intuitive interface and real-time timer
- Anti-Cheating Security: Automatic exam submission if app goes to background
- Personalized Learning Dashboard:
- Performance analytics and progress tracking
- Weak topic identification with targeted study suggestions
- Achievement badges and progress visualization
- AI Study Assistant: Access AI chatbot for topic-specific help and revision
- Material Access: View and download study materials organized by subject
- Leaderboard: Healthy competition with classmates through gamified rankings
- Real-time Notifications: Exam alerts, announcements, and important updates
- Cross-Platform Compatibility: iOS, Android, Web support with responsive design
- Multilingual Support: Full internationalization with English and Arabic localization
- Dark/Light Mode: Seamless theme switching with system preference sync
- Offline Capabilities: Local storage for essential data and offline exam taking
- Real-time Communication: In-app messaging, announcements, and group requests
- Security & Privacy: Secure authentication with JWT and role-based access control
-
Material Upload & Management: Teachers can upload and manage subject materials (PDFs, images, videos).
-
AI-Powered Quiz Generation: Generate quizzes automatically from learning materials using NLP.
-
AI Auto-Grading: Automated exam correction and feedback generation.
-
Exam Management: Teachers create, schedule, and manage exams with different question types (MCQ, True/False, Written).
-
Cheating Prevention: Exam session closes or submits automatically if the student puts the app in the background.
-
Feedback & Performance Analysis:
- For Students: Personalized feedback, weak topic identification, and targeted study suggestions.
- For Teachers: Class-wide insights, most-missed questions, and topic recommendations.
-
Timetable Management: Teachers and students can view, manage, and edit schedules.
-
Community & Notifications: In-app announcements, requests to join groups, and real-time notifications.
-
AI Revision Chatbot: Interactive topic-specific learning for students.
-
Leaderboard: Encourages healthy competition among students in the same group.
-
Student Performance Reports: Share insights with parents to track progress.
-
Responsiveness & UI: Adaptive layouts for phones and tablets with Material 3 custom widgets.
-
Dark Mode & Light Mode: Seamless theme switching.
-
Multilingual Support: Full internationalization using
flutter_intl. -
Analytics & Insights: AI-powered analytics for teachers and students.
-
Profile & Settings: Customizable user profiles with roles (teacher, student, parent).
-
Future Feature: Homework submission, automated grading, and feedback directly in-app.
lib/
├── core/ # Core utilities and infrastructure
│ ├── theme/ # Material 3 themes (light/dark)
│ ├── utils/ # MySizes, MyColors, constants
│ ├── helpers/ # Network, validation, helper functions
│ ├── exceptions/ # Error handling and dio exceptions
│ ├── popups/ # Loading screens, dialogs, snackbars
│ └── validators/ # Form validation logic
├── features/ # Feature-based modular architecture
│ ├── common/ # Shared features across roles
│ │ ├── auth/ # Authentication (login, signup, OTP)
│ │ ├── profile/ # User profile management
│ │ ├── chats/ # Real-time messaging system
│ │ ├── onboarding/ # App introduction screens
│ │ └── splash/ # Splash screen and app initialization
│ ├── teacher/ # Teacher-specific features
│ │ ├── ai_exams/ # AI-powered exam generation
│ │ ├── analysis/ # Advanced analytics dashboard
│ │ ├── exams/ # Exam creation and management
│ │ ├── groups/ # Class and group management
│ │ ├── materials/ # Material upload and organization
│ │ ├── feedback/ # Student feedback system
│ │ ├── timetable/ # Schedule management
│ │ └── notifications/ # Announcement system
│ └── student/ # Student-specific features
│ ├── exams/ # Exam taking interface
│ ├── analysis/ # Performance analytics
│ ├── chatbot/ # AI study assistant
│ ├── materials/ # Study material access
│ ├── groups/ # Group participation
│ ├── feedback/ # Receive teacher feedback
│ └── settings/ # Student preferences
├── services/ # External service integrations
│ ├── dio/ # HTTP client configuration
│ └── local/ # Local storage services
├── generated/ # Auto-generated localization files
├── l10n/ # Internationalization resources
├── routes/ # Navigation and routing
└── binding/ # Dependency injection bindings
- Clean Architecture: Separation of concerns with data, domain, and presentation layers
- Feature-First Structure: Modular organization by features rather than technical layers
- Repository Pattern: Abstracted data access with consistent API interfaces
- Controller Pattern: GetX controllers for reactive state management
- Component-Based UI: Reusable stateless widgets for consistent design
- Dependency Injection: GetX and GetIt for efficient dependency management
- Framework: Flutter 3.8.1+ with Dart
- State Management: GetX for reactive programming, dependency injection, and navigation
- UI/UX Framework: Material 3 with custom adaptive widgets
- Responsive Design: MySizes utility for cross-device compatibility
- Internationalization: flutter_intl with ARB files for multilingual support
- Navigation: GetX routing with named routes and middleware
- HTTP Client: Dio with interceptors for secure API communication
- Local Storage:
- GetStorage for structured offline data
- Flutter Secure Storage for sensitive information
- SharedPreferences for simple key-value storage
- Media Handling:
- image_picker and file_picker for material uploads
- cached_network_image for optimized image loading
- flutter_pdfview for document viewing
- Charts & Analytics: fl_chart for interactive data visualization
- Animations: Lottie animations with custom loading states
- Icons: HugeIcons and Iconsax for comprehensive icon library
- Framework: NestJS with TypeScript
- Database: PostgreSQL with complex relational schemas
- Authentication: JWT with role-based access control (Teachers, Students, Parents)
- API Architecture: RESTful APIs with comprehensive error handling
- Real-time Features: Socket.IO for live messaging and notifications
- File Storage: Cloud storage integration for materials and media
- Testing: Flutter Test framework with widget and unit testing
- Code Generation: build_runner for automated code generation
- DevOps: Device preview for responsive testing
- Splash Screen: flutter_native_splash for custom app launch
- App Icons: flutter_launcher_icons for cross-platform icon generation
// Example: AI Exam Generation Controller
class GenerateExamController extends GetxController {
// Generates exams from uploaded materials using NLP
Future<ExamModel> generateAIExam(AiExamRequest request) async {
// Process materials, extract content, generate questions
// Support for MCQ, True/False, and written questions
}
}- Student Performance Tracking: Individual progress monitoring with detailed insights
- Class Analytics: Aggregate performance data with trend analysis
- Question Analytics: Difficulty assessment and success rate tracking
- Learning Path Recommendations: AI-driven personalized study suggestions
// Example: Exam Security Implementation
class ExamSecurityController extends GetxController {
void _handleAppLifecycleChange(AppLifecycleState state) {
if (state == AppLifecycleState.paused ||
state == AppLifecycleState.inactive) {
// Automatically submit exam if app goes to background
_autoSubmitExam();
}
}
}- Dynamic Language Switching: Runtime locale changes without app restart
- RTL Support: Full right-to-left layout support for Arabic
- Contextual Translations: 500+ localized strings with proper context
- Cultural Adaptation: Date, time, and number formatting per locale
- Flutter SDK 3.8.1 or higher
- Dart SDK 3.8.1 or higher
- Android Studio / VS Code with Flutter extensions
- Git for version control
- Clone the repository:
git clone https://github.com/Knowva-Educational-Platform/knowva_Flutter.git
cd knowva_Flutter- Install dependencies:
flutter pub get- Configure environment:
# Copy environment configuration
cp .env.example .env
# Update API endpoints and keys in .env file- Generate localization files:
flutter packages pub run build_runner build- Run the application:
# Development mode
flutter run
# Release mode
flutter run --release
# Specific device
flutter run -d [device-id]- Build for production:
# Android APK
flutter build apk --release
# iOS
flutter build ios --release
# Web
flutter build web --release# Run all tests
flutter test
# Run with coverage
flutter test --coverage
# Widget testing
flutter test test/widget_test.dart
# Integration testing
flutter drive --target=test_driver/app.dart- Linting: flutter_lints for code standards enforcement
- Static Analysis: Built-in Dart analyzer for code quality
- Performance: Flutter Inspector for UI performance monitoring
- Memory: DevTools for memory leak detection
| Platform | Status | Features |
|---|---|---|
| Android | ✅ Full Support | All features, material design |
| iOS | ✅ Full Support | Native iOS design patterns |
| Web | ✅ Progressive Web App | Responsive design, offline support |
| Desktop | 🔄 In Development | Windows, macOS, Linux support |
- Data Encryption: End-to-end encryption for sensitive data
- Secure Storage: Flutter Secure Storage for tokens and credentials
- API Security: JWT authentication with refresh token rotation
- Input Validation: Comprehensive form validation and sanitization
- Privacy Compliance: GDPR and educational data privacy standards
- Advanced homework submission system
- Parent portal with detailed progress tracking
- Voice-to-text integration for accessibility
- Offline exam synchronization
- VR/AR integration for immersive learning
- Advanced AI tutoring with personalized learning paths
- Blockchain-based certificate verification
- Integration with popular LMS platforms
We welcome contributions from the educational technology community! Please see our Contributing Guidelines for detailed information on:
- Code style and standards
- Pull request process
- Issue reporting
- Feature request procedures
# Fork the repository
git clone https://github.com/your-username/knowva_Flutter.git
# Create feature branch
git checkout -b feature/amazing-feature
# Commit changes
git commit -m "Add amazing feature"
# Push to branch
git push origin feature/amazing-feature
# Open pull requestCopyright © 2025 Knowva Educational Platform - Amr Mohamed Nabih.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
- Project Lead: Amr Mohamed Nabih
- Organization: Knowva Educational Platform
- Repository: GitHub - Knowva Flutter
- Issues: Report Bugs & Request Features
- Discussions: Community Discussions
Built with ❤️ for the future of education