Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Protecto - Parental Control App

A comprehensive parental control app built with Flutter and native Android features for digital safety and content blocking.

πŸ›‘οΈ Features

Core Protection Features

  • Device Admin Protection: Prevents app uninstallation
  • Content Blocking: System-wide website filtering via VPN
  • PIN/Biometric Security: Secure access to settings
  • Background Monitoring: Continuous protection service
  • Firebase Integration: Cloud sync and authentication

User Interface

  • Modern Material Design 3: Dark theme with beautiful UI
  • 6 Complete Screens: Login, Dashboard, Settings, Safe Browser, Blocked Sites, Logs
  • Responsive Design: Optimized for all screen sizes
  • Intuitive Navigation: Easy-to-use interface

Technical Features

  • Flutter + Kotlin: Cross-platform with native Android features
  • Method Channels: Seamless Flutter-Android communication
  • Secure Storage: Encrypted PIN and settings storage
  • Real-time Analytics: Usage tracking and security logs

πŸš€ Quick Start

Prerequisites

  • Flutter SDK (3.9.2+)
  • Android Studio
  • Android device (API 21+)
  • Firebase project

Installation

  1. Clone the repository

    git clone https://github.com/Krishna7dx9/Protecto.git
    cd Protecto
  2. Install dependencies

    flutter pub get
  3. Set up Firebase

    • Follow the Firebase Setup Guide
    • Download google-services.json to android/app/
    • Configure Firestore security rules
  4. Run the app

    flutter run

πŸ“± Screens Overview

1. Login Screen

  • Email/password authentication
  • Firebase Auth integration
  • PIN reset via OTP
  • Biometric login option

2. Dashboard

  • Protection status overview
  • Quick action buttons
  • Usage statistics
  • Real-time monitoring

3. Settings

  • PIN management
  • Device admin controls
  • Biometric settings
  • App preferences

4. Safe Browser

  • WebView with content filtering
  • Blocked site detection
  • Safe search integration
  • Add to blocklist functionality

5. Blocked Sites

  • Manage blocked websites
  • Category-based filtering
  • Bulk import/export
  • Real-time updates

6. Logs & Alerts

  • Security event logs
  • Usage analytics
  • Failed attempt tracking
  • Parent notifications

πŸ”§ Native Android Features

Device Admin

  • Prevents app uninstallation
  • System-level protection
  • Admin PIN verification
  • Policy enforcement

VPN Service

  • DNS-based content filtering
  • Real-time domain blocking
  • Network traffic monitoring
  • Background operation

Protection Service

  • Continuous monitoring
  • Wake lock management
  • Suspicious activity detection
  • Automatic recovery

πŸ” Security Features

Authentication

  • Firebase Authentication
  • Secure PIN storage
  • Biometric authentication
  • Session management

Data Protection

  • Encrypted local storage
  • Secure cloud sync
  • Privacy-focused design
  • No data collection

App Protection

  • Device admin integration
  • Uninstall prevention
  • Background service
  • System-level security

πŸ“Š Architecture

Flutter Layer

lib/
β”œβ”€β”€ main.dart                 # App entry point
β”œβ”€β”€ screens/                  # UI screens
β”œβ”€β”€ widgets/                  # Reusable components
β”œβ”€β”€ models/                   # Data models
β”œβ”€β”€ services/                 # Business logic
└── utils/                    # Utilities

Android Layer

android/app/src/main/kotlin/
β”œβ”€β”€ MainActivity.kt           # Main activity
β”œβ”€β”€ DeviceAdminReceiver.kt    # Device admin
β”œβ”€β”€ VpnService.kt            # VPN service
β”œβ”€β”€ ProtectionService.kt     # Background service
└── MethodChannelHandler.kt  # Flutter bridge

πŸ› οΈ Development

Project Structure

  • Flutter: UI and business logic
  • Kotlin: Native Android features
  • Firebase: Backend services
  • Method Channels: Flutter-Android communication

Key Dependencies

  • firebase_core: Firebase integration
  • firebase_auth: Authentication
  • cloud_firestore: Database
  • webview_flutter: Safe browser
  • local_auth: Biometric authentication
  • flutter_secure_storage: Secure storage

Building for Production

  1. Configure signing

    # Update android/app/build.gradle.kts
    # Add signing configuration
  2. Build APK

    flutter build apk --release
  3. Build App Bundle

    flutter build appbundle --release

πŸ”§ Configuration

Firebase Setup

  1. Create Firebase project
  2. Add Android app
  3. Download google-services.json
  4. Configure security rules
  5. Enable required services

Android Permissions

All required permissions are automatically configured:

  • Device Admin
  • VPN Service
  • Internet Access
  • Biometric Authentication
  • System Alert Window

App Configuration

  • Update package name in android/app/build.gradle.kts
  • Configure app signing
  • Set up release keystore
  • Update Firebase project settings

πŸ§ͺ Testing

Unit Tests

flutter test

Integration Tests

flutter test integration_test/

Manual Testing

  1. Test device admin functionality
  2. Verify VPN service operation
  3. Check Firebase integration
  4. Test all UI screens
  5. Validate security features

πŸ“‹ Troubleshooting

Common Issues

  1. Device Admin Not Working

    • Check Android version compatibility
    • Verify permissions in settings
    • Ensure proper configuration
  2. VPN Service Issues

    • Check VPN permissions
    • Verify network connectivity
    • Test on physical device
  3. Firebase Errors

    • Verify google-services.json
    • Check security rules
    • Ensure proper authentication
  4. Build Errors

    • Clean and rebuild: flutter clean && flutter pub get
    • Check all dependencies
    • Verify Android configuration

Debug Mode

flutter run --debug

Release Mode

flutter run --release

πŸ“„ License

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

🀝 Contributing

  1. Fork the repository
  2. Create feature branch
  3. Commit changes
  4. Push to branch
  5. Create Pull Request

πŸ“ž Support

For support and questions:

  • Create an issue in the repository
  • Check the documentation
  • Review troubleshooting guide

πŸ—ΊοΈ Roadmap

Future Features

  • iOS support
  • Advanced AI filtering
  • Multi-language support
  • Advanced analytics
  • Time-based restrictions
  • Location-based filtering

Protecto - Keeping families safe in the digital world. πŸ›‘οΈ

About

# Protecto - Parental Control App Flutter parental control app with Firebase backend. Features device admin, VPN protection, safe browser, blocked sites management, and security analytics. Android-focused with Firebase Auth/Firestore integration.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages