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.
demo
https://connect-app-landing.netlify.app/
Note: you can download the apk from the landing page :)
- 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
- 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
- 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
- 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
Before running this project, make sure you have the following installed:
- Flutter (3.16.0 or higher)
- Dart (3.0.0 or higher)
- Android Studio (for Android development)
- Xcode (for iOS development, macOS only)
- Firebase CLI (for Firebase setup)
git clone https://github.com/hassan689/connect-open-source.git
cd connect-open-sourceflutter pub get- Create a new Firebase project at Firebase Console
- Enable Authentication, Firestore, Storage, and Cloud Messaging
- Install FlutterFire CLI:
dart pub global activate flutterfire_cli
- Configure Firebase for your project:
This will generate
flutterfire configure
lib/firebase_options.dartwith your Firebase configuration. - Download the configuration files:
google-services.jsonfor AndroidGoogleService-Info.plistfor iOS
- Place the files in the appropriate directories:
- Android:
android/app/google-services.json - iOS:
ios/Runner/GoogleService-Info.plist
- Android:
-
Copy the environment template:
cp .env.example .env
-
Edit
.envand 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
- Get a Google Maps API key from Google Cloud Console
- Enable Maps SDK for Android and iOS
- Add the API key to your
.envfile (see step 4) - For Android: Replace
YOUR_GOOGLE_MAPS_API_KEYinandroid/app/src/main/AndroidManifest.xmlwith your actual key - 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.
# For Android
flutter run
# For iOS (macOS only)
flutter run -d ios
# For Web
flutter run -d chromelib/
├── 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
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# Debug build
flutter build apk --debug
# Release build
flutter build apk --release
# App bundle for Play Store
flutter build appbundle --release# Debug build
flutter build ios --debug
# Release build
flutter build ios --release# Debug build
flutter build web --debug
# Release build
flutter build web --releaseWe welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
We follow the Dart Style Guide and use flutter_lints for code analysis.
This project is licensed under the MIT License - see the LICENSE file for details.
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
- Flutter Team for the amazing framework
- Firebase for backend services
- Google Maps for mapping services
- OpenAI for AI capabilities
- Hugging Face for AI models
- All our contributors and users
- ✅ 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






