Skip to content

Connect App — A modern task-sharing platform where users can post tasks, hire service providers, chat, manage profiles, track locations, and complete work seamlessly using a clean Flutter UI.

License

Notifications You must be signed in to change notification settings

hassan689/connect-open-source

Connect - Task Management App

CI/CD Pipeline Flutter Version License

A modern task management application built with Flutter that connects service providers with clients. Connect makes it easy to find help for tasks or offer your services to others. Screenshot (134) demo https://connect-app-landing.netlify.app/ Note: you can download the apk from the landing page :)

🚀 Features

For Task Seekers

  • Browse Tasks: Find available tasks in your area
  • Map View: Interactive map showing task locations with distance and pricing
  • Search & Filter: Find specific types of tasks
  • Real-time Messaging: Communicate with task posters
  • Secure Payments: Safe and protected transactions
  • AI Assistant: Get help from Dino, your AI guide

For Task Posters

  • Post Tasks: Create and publish new tasks with detailed requirements
  • Manage Tasks: Edit, cancel, or mark tasks complete
  • Track Progress: Monitor task status and completion
  • Rate Providers: Leave feedback after completion
  • Schedule Tasks: Set specific dates and times for task completion

Core Features

  • Location-based Discovery: Find tasks near you with interactive maps
  • User Verification: Secure and verified user accounts
  • Real-time Updates: Live task and message updates
  • Push Notifications: Stay informed about new activities
  • Multi-platform: Works on Android, iOS, and Web
  • AI-Powered Assistance: Get help navigating the app with Dino

📱 Screenshots

🛠️ Technology Stack

  • Frontend: Flutter 3.16.0
  • Backend: Firebase
  • Authentication: Firebase Auth (Email, Google, Apple Sign-In)
  • Database: Cloud Firestore
  • Storage: Firebase Storage
  • Maps: Google Maps Flutter
  • Payments: Stripe Integration
  • Notifications: Firebase Cloud Messaging
  • AI Integration: OpenAI & Hugging Face

📋 Prerequisites

Before running this project, make sure you have the following installed:

🚀 Getting Started

1. Clone the Repository

git clone https://github.com/hassan689/connect-open-source.git
cd connect-open-source

2. Install Dependencies

flutter pub get

3. Firebase Setup

  1. Create a new Firebase project at Firebase Console
  2. Enable Authentication, Firestore, Storage, and Cloud Messaging
  3. Install FlutterFire CLI:
    dart pub global activate flutterfire_cli
  4. Configure Firebase for your project:
    flutterfire configure
    This will generate lib/firebase_options.dart with your Firebase configuration.
  5. Download the configuration files:
    • google-services.json for Android
    • GoogleService-Info.plist for iOS
  6. Place the files in the appropriate directories:
    • Android: android/app/google-services.json
    • iOS: ios/Runner/GoogleService-Info.plist

4. Environment Variables Setup

  1. Copy the environment template:

    cp .env.example .env
  2. Edit .env and add your API keys:

    # OpenAI (for AI features)
    OPENAI_API_KEY=your_openai_api_key_here
    
    # Google Maps
    GOOGLE_MAPS_API_KEY=your_google_maps_api_key_here
    
    # Hugging Face (for AI features)
    HUGGINGFACE_API_TOKEN=your_huggingface_token_here

5. Google Maps Setup

  1. Get a Google Maps API key from Google Cloud Console
  2. Enable Maps SDK for Android and iOS
  3. Add the API key to your .env file (see step 4)
  4. For Android: Replace YOUR_GOOGLE_MAPS_API_KEY in android/app/src/main/AndroidManifest.xml with your actual key
  5. For iOS: Add the key to ios/Runner/AppDelegate.swift (see Firebase setup)

Note: The API key in AndroidManifest.xml needs to be set manually as Android doesn't support environment variables directly.

6. Run the App

# For Android
flutter run

# For iOS (macOS only)
flutter run -d ios

# For Web
flutter run -d chrome

📁 Project Structure

lib/
├── core/                    # Core functionality
│   ├── constants/          # App constants
│   ├── utils/              # Utility functions
│   ├── services/           # Core services
│   └── theme/              # App theme
├── ai_agent/               # AI assistant (Dino)
├── ai_services/            # AI service integrations
├── auth/                   # Authentication screens
├── connects/               # User connection features
├── dashboard/              # Analytics dashboard
├── messaging/              # Messaging system
├── profilepage/             # User profile management
├── search_tasks/            # Task browsing and search
├── task_post/               # Task creation flow
├── widgets/                 # Reusable components
└── main.dart                # App entry point

Testing

Run the test suite:

# Run all tests
flutter test

# Run tests with coverage
flutter test --coverage

# Run specific test file
flutter test test/widget_test.dart

🏗️ Building

Android

# Debug build
flutter build apk --debug

# Release build
flutter build apk --release

# App bundle for Play Store
flutter build appbundle --release

iOS

# Debug build
flutter build ios --debug

# Release build
flutter build ios --release

Web

# Debug build
flutter build web --debug

# Release build
flutter build web --release

📚 Documentation

🤝 Contributing

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

Development Workflow

  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

Code Style

We follow the Dart Style Guide and use flutter_lints for code analysis.

📄 License

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

🆘 Support

If you need help or have questions:

  • Documentation: Check our docs folder
  • Issues: Create an issue on GitHub
  • Security: Report security issues via SECURITY.md

Acknowledgments

📊 Project Status

  • ✅ Core functionality implemented
  • ✅ Authentication system (Email, Google, Apple)
  • ✅ Task management
  • ✅ Messaging system
  • ✅ Payment integration
  • ✅ Map integration
  • ✅ AI Assistant (Dino)
  • ✅ Push notifications
  • ✅ Multi-language support (English, Urdu)
  • 🔄 Offline support (planned)
  • 🔄 Advanced analytics (planned)

Made with ❤️ by the Connect Team

GitHub Repository | Report Issue

About

Connect App — A modern task-sharing platform where users can post tasks, hire service providers, chat, manage profiles, track locations, and complete work seamlessly using a clean Flutter UI.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published