Skip to content

kavindukaveesha/Blockmind

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

33 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 BlockMind - Digital Wellness & App Blocking Solution

BlockMind Logo

Flutter Firebase Dart

Version License Platform

Transform your digital habits. Reclaim your focus. Achieve digital wellness.

πŸ“± Download β€’ πŸš€ Features β€’ πŸ“– Documentation β€’ 🀝 Contributing


🌟 Overview

BlockMind is a comprehensive digital wellness application built with Flutter and powered by Firebase, designed to help users manage screen time, improve productivity, and maintain healthy digital habits. With intelligent app blocking, advanced analytics, and AI-powered assistance, BlockMind empowers users to take control of their digital lives.

Welcome Screen

🎯 Mission Statement

Empowering individuals to build meaningful relationships with technology through mindful usage and digital wellness.


✨ Key Features

Smart Blocking

🚫 Smart App Blocking

  • Instant Blocking - Quick block with customizable durations
  • Scheduled Sessions - Automated blocking based on your routine
  • Category Filtering - Block by app categories
  • Emergency Override - Break glass when truly needed
  • Whitelist Support - Keep essential apps accessible
Analytics

πŸ“Š Advanced Analytics

  • Multi-timeframe Reports - Daily, weekly, monthly insights
  • Usage Pattern Analysis - Understand your digital behavior
  • Productivity Scoring - Track your progress with metrics
  • Goal Achievement - Set and monitor digital wellness goals
  • Export Capabilities - Share your progress
AI Assistant

πŸ€– AI-Powered Assistant

  • Personalized Recommendations - Tailored advice for your habits
  • 24/7 Support - Always available digital wellness coach
  • Motivational Guidance - Stay motivated on your journey
  • Habit Formation - Science-backed habit building
  • Schedule Optimization - AI suggests optimal blocking times
Personalization

🎨 Personalization

  • Custom Themes - Light/dark mode and color schemes
  • Multi-language Support - Available in multiple languages
  • Flexible Scheduling - Create schedules that fit your life
  • Privacy Controls - Complete control over your data
  • Backup & Sync - Never lose your progress

πŸ“± Screenshots & User Journey

πŸ” Authentication & Onboarding

Initial Screens

Welcome
Welcome Screen
Registration
Registration Options
Login
Login Screen
Verification
Email Verification

Authentication Flow

Manual Registration
Manual Registration
Manual Login
Manual Login
Forgot Password
Password Recovery

Onboarding Experience

Onboarding 1
Welcome Guide
Onboarding 2
Features Overview
Onboarding 3
Setup Guide
Onboarding 4
Get Started

πŸ”‘ Key Authentication Highlights:

  • πŸ” Secure Authentication - Multiple login methods including social media
  • βœ‰οΈ Email Verification - Enhanced security with email confirmation
  • πŸŽ“ Interactive Onboarding - Step-by-step introduction to features
  • πŸš€ Quick Setup - Get started in under 2 minutes

🏠 Home Dashboard & Quick Actions

Main Dashboard

Main Dashboard
Main Dashboard
Quick Block
Quick Block Feature
Active Sessions
Active Sessions
Timer Interface
Timer Interface

Block Management

App Selection
App Selection
Create Block
Create Block Session
Start Block
Start Block Confirmation
Reset
Reset Options

⚑ Key Home Features:

  • 🚫 Quick Block - Start blocking sessions in seconds
  • πŸ“Š Real-time Monitoring - Live tracking of active sessions
  • 🎯 Smart Selection - Choose apps by category or individually
  • πŸ• Flexible Timing - Custom durations from 15 minutes to hours

πŸ“… Schedule Management

All Schedules
All Schedules
Create Schedule
Create New Schedule
Schedule Details
Schedule Details
Calendar View
Calendar Overview
Delete Confirmation
Delete Confirmation

πŸ“… Schedule Management Features:

  • πŸ“‹ Flexible Scheduling - Daily, weekly, or custom patterns
  • 🎨 Visual Calendar - See your blocking schedule at a glance
  • βš™οΈ Easy Management - Create, edit, and delete schedules effortlessly
  • πŸ”„ Smart Recurrence - Set up complex recurring patterns

πŸ“Š Activity Tracking & Analytics

Activity Monitoring

All Activities
All Activities
Today's Activities
Today's Activities
No Activities
Getting Started

Usage Analysis & Insights

Daily Analysis
Daily Analysis
Daily Details
Daily Breakdown
Weekly Analysis
Weekly Analysis
Monthly Analysis
Monthly Analysis

πŸ“ˆ Analytics Features:

  • πŸ“Š Comprehensive Reports - Multi-timeframe analysis
  • πŸ“ˆ Trend Analysis - Understand your progress over time
  • 🎯 Goal Tracking - Monitor achievement of wellness goals
  • πŸ“‹ Detailed Insights - Hour-by-hour breakdown and patterns

πŸ€– AI Assistant & Support

AI Chatbot
AI Chatbot Interface
Chatbot Conversation
Intelligent Conversations

πŸ€– AI Assistant Features:

  • 🧠 Smart Assistant - AI-powered recommendations and support
  • πŸ’¬ Natural Conversation - Intuitive chat interface
  • 🎯 Personalized Advice - Custom recommendations based on your usage
  • 🌟 24/7 Availability - Always there when you need guidance

πŸ‘€ Profile & Settings

Profile Management

Main Profile
Main Profile
Profile Menu
Settings Menu
Account Settings
Account Settings
Account Details
Account Details

Customization Options

Notifications
Notifications
Theme Settings
Theme Settings
Language Settings
Language Options
Time Management
Time Management

Advanced Settings

Backup
Backup & Restore
Privacy
Privacy Settings
Help & FAQ
Help & FAQ
About
About BlockMind

πŸ‘€ Profile Features:

  • πŸ† Achievement System - Gamified progress tracking
  • βš™οΈ Deep Customization - Tailor the app to your preferences
  • πŸ”’ Privacy First - Complete control over your data
  • 🌍 Multi-language Support - Available in multiple languages

πŸ› οΈ Technical Stack

Category Technologies
Frontend Flutter, Dart
Backend Firebase (Auth, Firestore, Cloud Functions)
Local Storage SharedPreferences, Hive
Authentication Firebase Auth, OAuth 2.0
Analytics Custom Analytics Engine
State Management Provider / Bloc
Notifications Firebase Cloud Messaging

πŸš€ Getting Started

πŸ“‹ Prerequisites

  • Flutter SDK (3.0+)
  • Dart SDK (2.17+)
  • Android Studio / VS Code
  • Firebase Account

πŸ’» Installation

# Clone the repository
git clone https://github.com/blockmind/blockmind.git

# Navigate to project directory
cd blockmind

# Install dependencies
flutter pub get

# Run the app
flutter run

πŸ”§ Configuration

  1. Firebase Setup

    # Install Firebase CLI
    npm install -g firebase-tools
    
    # Login to Firebase
    firebase login
    
    # Initialize Firebase in your project
    firebase init
  2. Add Firebase Configuration Files

    • Download google-services.json for Android and place in android/app/
    • Download GoogleService-Info.plist for iOS and place in ios/Runner/
  3. Environment Setup

    # pubspec.yaml dependencies
    dependencies:
      flutter:
        sdk: flutter
      firebase_core: ^2.15.0
      firebase_auth: ^4.7.2
      cloud_firestore: ^4.8.4
      shared_preferences: ^2.2.0
      hive: ^2.2.3

πŸ“– Architecture Overview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Presentation  β”‚    β”‚    Business     β”‚    β”‚      Data       β”‚
β”‚     Layer       │◄──►│     Logic       │◄──►│     Layer       β”‚
β”‚                 β”‚    β”‚     Layer       β”‚    β”‚                 β”‚
β”‚ β€’ Flutter UI    β”‚    β”‚ β€’ Provider/Bloc β”‚    β”‚ β€’ Firebase      β”‚
β”‚ β€’ Widgets       β”‚    β”‚ β€’ Services      β”‚    β”‚ β€’ Local Storage β”‚
β”‚ β€’ Screens       β”‚    β”‚ β€’ Repositories  β”‚    β”‚ β€’ Hive/SharedP  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“ Project Structure

lib/
β”œβ”€β”€ core/
β”‚   β”œβ”€β”€ constants/
β”‚   β”œβ”€β”€ utils/
β”‚   └── services/
β”œβ”€β”€ features/
β”‚   β”œβ”€β”€ auth/
β”‚   β”‚   β”œβ”€β”€ data/
β”‚   β”‚   β”œβ”€β”€ domain/
β”‚   β”‚   └── presentation/
β”‚   β”œβ”€β”€ home/
β”‚   β”œβ”€β”€ schedule/
β”‚   β”œβ”€β”€ analytics/
β”‚   β”œβ”€β”€ profile/
β”‚   └── chatbot/
β”œβ”€β”€ shared/
β”‚   β”œβ”€β”€ widgets/
β”‚   β”œβ”€β”€ models/
β”‚   └── providers/
└── main.dart

πŸ”§ Key Components

🚫 App Blocking Service

class AppBlockingService {
  static Future<void> startBlockSession({
    required List<String> blockedApps,
    required Duration duration,
    required BlockType type,
  }) async {
    // Implementation for starting app blocking
  }

  static Future<void> stopBlockSession(String sessionId) async {
    // Implementation for stopping app blocking
  }

  static Stream<List<BlockSession>> getActiveBlocks() {
    // Stream of active blocking sessions
  }
}

πŸ“Š Analytics Engine

class AnalyticsService {
  static Future<UsageReport> generateReport(TimeFrame timeframe) async {
    // Generate usage analytics report
  }

  static Future<double> calculateProductivityScore() async {
    // Calculate user productivity score
  }

  static Future<void> trackAppUsage(String appId, Duration duration) async {
    // Track app usage for analytics
  }
}

πŸ€– AI Assistant

class AIAssistantService {
  static Future<List<Recommendation>> getRecommendations(
    UserProfile profile
  ) async {
    // Get personalized recommendations
  }

  static Future<String> getChatResponse(String message) async {
    // Process chat messages and return AI response
  }
}

πŸ”’ Privacy & Security

πŸ›‘οΈ Privacy First Approach

Aspect Implementation
Data Encryption End-to-end encryption for all sensitive data
Local Processing Analytics processed locally when possible
Minimal Collection Only collect data essential for functionality
User Control Complete control over data sharing preferences
GDPR Compliant Full compliance with privacy regulations
Firebase Security Advanced security rules and authentication

πŸ” Security Features

  • πŸ”’ Secure Authentication - Firebase Auth with multi-factor support
  • πŸ›‘οΈ Data Protection - Firestore security rules and encryption
  • πŸ”„ Regular Updates - Continuous security improvements
  • πŸ“‹ Privacy Controls - Granular privacy settings
  • 🎯 Minimal Permissions - Only request necessary device permissions

🀝 Contributing

We welcome contributions from the community! Here's how you can get involved:

🎯 Ways to Contribute

πŸ› Bug Reports

  • Report issues via GitHub Issues
  • Provide detailed reproduction steps
  • Include device and OS information
  • Screenshots welcome

✨ Feature Requests

  • Suggest new features
  • Discuss implementation approaches
  • Vote on existing proposals
  • Help prioritize development

πŸ’» Code Contributions

  • Fork the repository
  • Create feature branches
  • Submit pull requests
  • Follow Flutter/Dart conventions

πŸ“‹ Contribution Guidelines

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

🎨 Development Standards

  • Code Style: Follow Dart/Flutter style guide
  • Testing: Write unit and widget tests
  • Documentation: Update documentation for new features
  • Performance: Ensure no performance regressions

πŸ’¬ Community & Support

🌐 Join Our Community

Discord Twitter Reddit

πŸ’Œ Support Channels


πŸ“„ License

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

MIT License

Copyright (c) 2024 MAD Developers Solutions - NSBM Green University

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

πŸ‘¨β€πŸ’» Development Team

Developed with ❀️ by MAD Developers Solutions
NSBM Green University

GitHub University


πŸ™ Acknowledgments

  • Flutter Team - For the amazing cross-platform framework
  • Firebase Team - For the comprehensive backend services
  • Open Source Community - For the incredible libraries and tools
  • NSBM Green University - For supporting our development journey
  • Beta Testers - For helping us improve the app

Start your journey to better digital habits today with BlockMind!

⭐ Star this repository if you found it helpful! ⭐

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 95.8%
  • C++ 1.9%
  • CMake 1.4%
  • Kotlin 0.3%
  • Swift 0.2%
  • Ruby 0.2%
  • Other 0.2%