A secure, feature-rich Flutter application for creating, managing, and taking online tests with advanced anti-cheat capabilities.
- Real-time Violation Detection: App switching, screenshot attempts, screen recording prevention
- Configurable Security Levels: Strict, Balanced, and Lenient presets with custom configuration
- Native Platform Integration: Android screen pinning, FLAG_SECURE screenshot prevention
- Risk Assessment: AI-powered scoring with progressive warning system
- Comprehensive Reporting: Detailed violation analytics for teachers
- Intuitive Test Creation: Multi-step wizard with validation and preview
- Question Management: MCQ creation with real-time preview and answer validation
- Group Management: Organize students and assign tests to specific groups
- Live Monitoring: Real-time test session monitoring with violation alerts
- Results Analytics: Comprehensive student performance analysis
- Seamless Test Taking: Clean, distraction-free interface with progress tracking
- Smart Timer System: Visual countdown with automatic submission prevention
- Educational Anti-Cheat: Clear rules explanation before test starts
- Instant Results: Detailed score breakdown with question-by-question analysis
- Mobile Optimized: Responsive design for various screen sizes
- Role-Based Access Control: Admin, Teacher, and Student permissions
- Firebase Security Rules: Comprehensive data protection and isolation
- End-to-End Encryption: Secure data transmission and storage
- Privacy Compliant: GDPR-ready with configurable data retention
- Material 3 Design: Modern UI with dark mode support
- Provider State Management: Reactive architecture with real-time updates
- Platform Channels: Native Android/iOS integration for anti-cheat features
- Responsive Layout: Optimized for phones, tablets, and desktop
- Firestore Database: Real-time NoSQL database with offline support
- Firebase Auth: Secure authentication with role-based access
- Cloud Functions: Server-side validation and processing
- Firebase Storage: Secure file storage for future multimedia questions
- Cross-Platform Service: Unified violation detection across platforms
- Native Plugins: Platform-specific security implementations
- Real-time Monitoring: Live violation tracking during tests
- Machine Learning: Pattern recognition for advanced cheat detection
- Flutter 3.0 or higher
- Android Studio / VS Code
- Firebase project setup
- Android SDK (for Android development)
- Xcode (for iOS development)
-
Clone the repository
git clone https://github.com/pragyan-ghimire/testpoint.git cd testpoint -
Install dependencies
flutter pub get
-
Firebase Setup
# Add your google-services.json (Android) # Add your GoogleService-Info.plist (iOS)
-
Run the application
flutter run
- Create a new Firebase project
- Enable Firestore Database
- Enable Authentication (Email/Password)
- Configure security rules (see
firestore.rules) - Add platform-specific configuration files
// Example anti-cheat configuration
AntiCheatConfig.balanced() // Recommended for most tests
AntiCheatConfig.strict() // High-stakes exams
AntiCheatConfig.lenient() // Practice tests- β Screen pinning (prevents home/back button)
- β Screenshot prevention (FLAG_SECURE)
- β App lifecycle monitoring
- β Background app detection
- β Screen recording prevention
- β³ Screen recording detection
- β³ App switching prevention
- β³ Guided Access integration
- β³ Background monitoring
- Complete system management
- User role assignment
- Global configuration
- System analytics
- Security monitoring
- Test creation and management
- Group administration
- Student performance tracking
- Anti-cheat configuration
- Violation reporting
- Test taking interface
- Results viewing
- Progress tracking
- Profile management
- Test history
- β‘ Real-time data synchronization
- π Offline capability (planned)
- π± Native performance
- π¨ Smooth 60fps animations
- πΎ Efficient memory usage
- π End-to-end encryption
- π‘οΈ Multi-layer validation
- π Real-time monitoring
- π Audit trails
- π« Anti-tampering measures
- βοΈ Cloud-native architecture
- π Auto-scaling Firebase backend
- π Load balancing
- π Performance monitoring
- ποΈ Efficient data structures
flutter testflutter test integration_test/- Platform-specific violation simulation
- Security bypass testing
- Performance impact analysis
- User experience validation
lib/
βββ config/ # App configuration
βββ core/ # Core utilities and themes
βββ data/ # Data layer
βββ features/ # Feature modules
β βββ admin/ # Admin functionality
β βββ auth/ # Authentication
β βββ student/ # Student interface
β βββ teacher/ # Teacher dashboard
βββ models/ # Data models
βββ providers/ # State management
βββ repositories/ # Data repositories
βββ routing/ # Navigation
βββ services/ # Business logic
βββ widgets/ # Reusable components
| Component | Status | Description |
|---|---|---|
| Authentication | β Complete | Firebase Auth with role-based access |
| Test Management | β Complete | CRUD operations with validation |
| Question System | β Complete | MCQ with preview and validation |
| Anti-Cheat Core | β Complete | Violation detection and reporting |
| Teacher Dashboard | β Complete | Comprehensive management interface |
| Student Interface | β Complete | Test taking and results viewing |
| Mobile Optimization | β Complete | Responsive design implementation |
| Android Security | β Complete | Native anti-cheat features |
| iOS Security | π§ In Progress | Platform-specific implementations |
| Advanced Analytics | β³ Planned | ML-powered insights |
| Offline Support | β³ Planned | Cached test taking |
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new features
- Ensure all tests pass
- Submit a pull request
- Follow Flutter/Dart conventions
- Use meaningful variable names
- Add documentation for public APIs
- Maintain test coverage above 80%
- Firebase Structure - Database schema and security rules
- Anti-Cheat Guide - Configuration and usage
- API Reference - Service and repository documentation
- User Manual - End-user documentation
Build Errors
flutter clean
flutter pub get
flutter runFirebase Connection
- Verify configuration files are in place
- Check Firebase project settings
- Ensure security rules are deployed
Anti-Cheat Not Working
- Verify platform-specific permissions
- Check device compatibility
- Review configuration settings
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: support@testpoint.app
This project is licensed under the MIT License - see the LICENSE file for details.
- Flutter team for the amazing framework
- Firebase for robust backend services
- Material Design for beautiful UI components
- Open source community for invaluable contributions
Built with β€οΈ using Flutter & Firebase
TestPoint - Secure, Scalable, Smart Testing Platform