Skip to content

Ros0n/testpoint

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

40 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎯 TestPoint - Comprehensive Online Testing Platform

A secure, feature-rich Flutter application for creating, managing, and taking online tests with advanced anti-cheat capabilities.

Flutter Firebase Platform

🌟 Features

πŸ” Advanced Anti-Cheat System

  • 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

πŸ‘¨β€πŸ« Teacher Dashboard

  • 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

πŸ‘¨β€πŸŽ“ Student Experience

  • 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

πŸ›‘οΈ Security & Privacy

  • 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

πŸ—οΈ Architecture

Frontend (Flutter)

  • 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

Backend (Firebase)

  • 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

Anti-Cheat Engine

  • 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

πŸš€ Quick Start

Prerequisites

  • Flutter 3.0 or higher
  • Android Studio / VS Code
  • Firebase project setup
  • Android SDK (for Android development)
  • Xcode (for iOS development)

Installation

  1. Clone the repository

    git clone https://github.com/pragyan-ghimire/testpoint.git
    cd testpoint
  2. Install dependencies

    flutter pub get
  3. Firebase Setup

    # Add your google-services.json (Android)
    # Add your GoogleService-Info.plist (iOS)
  4. Run the application

    flutter run

πŸ”§ Configuration

Firebase Setup

  1. Create a new Firebase project
  2. Enable Firestore Database
  3. Enable Authentication (Email/Password)
  4. Configure security rules (see firestore.rules)
  5. Add platform-specific configuration files

Anti-Cheat Configuration

// Example anti-cheat configuration
AntiCheatConfig.balanced() // Recommended for most tests
AntiCheatConfig.strict()   // High-stakes exams
AntiCheatConfig.lenient()  // Practice tests

πŸ“± Platform Features

Android

  • βœ… Screen pinning (prevents home/back button)
  • βœ… Screenshot prevention (FLAG_SECURE)
  • βœ… App lifecycle monitoring
  • βœ… Background app detection
  • βœ… Screen recording prevention

iOS (Planned)

  • ⏳ Screen recording detection
  • ⏳ App switching prevention
  • ⏳ Guided Access integration
  • ⏳ Background monitoring

🎯 User Roles

πŸ‘‘ Administrator

  • Complete system management
  • User role assignment
  • Global configuration
  • System analytics
  • Security monitoring

πŸ‘¨β€πŸ« Teacher

  • Test creation and management
  • Group administration
  • Student performance tracking
  • Anti-cheat configuration
  • Violation reporting

πŸ‘¨β€πŸŽ“ Student

  • Test taking interface
  • Results viewing
  • Progress tracking
  • Profile management
  • Test history

πŸ“Š Technical Specifications

Performance

  • ⚑ Real-time data synchronization
  • πŸ”„ Offline capability (planned)
  • πŸ“± Native performance
  • 🎨 Smooth 60fps animations
  • πŸ’Ύ Efficient memory usage

Security

  • πŸ” End-to-end encryption
  • πŸ›‘οΈ Multi-layer validation
  • πŸ” Real-time monitoring
  • πŸ“ Audit trails
  • 🚫 Anti-tampering measures

Scalability

  • ☁️ Cloud-native architecture
  • πŸ“ˆ Auto-scaling Firebase backend
  • πŸ”€ Load balancing
  • πŸ“Š Performance monitoring
  • πŸ—„οΈ Efficient data structures

πŸ“‹ Testing Strategy

Unit Tests

flutter test

Integration Tests

flutter test integration_test/

Anti-Cheat Testing

  • Platform-specific violation simulation
  • Security bypass testing
  • Performance impact analysis
  • User experience validation

πŸ—‚οΈ Project Structure

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

πŸ”„ Development Status

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

🀝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Workflow

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for new features
  5. Ensure all tests pass
  6. Submit a pull request

Code Style

  • Follow Flutter/Dart conventions
  • Use meaningful variable names
  • Add documentation for public APIs
  • Maintain test coverage above 80%

πŸ“„ Documentation

πŸ”§ Troubleshooting

Common Issues

Build Errors

flutter clean
flutter pub get
flutter run

Firebase 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

πŸ“ž Support

πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • 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

About

A flutter application developed for SE project.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Dart 93.1%
  • C++ 2.9%
  • CMake 2.3%
  • Kotlin 1.1%
  • Swift 0.3%
  • C 0.2%
  • Other 0.1%