"Collaborate and Achieve"
A modern, cross-platform task management and team collaboration application built with Flutter.
- ✅ Task Management: Create, organize, and track tasks with ease
- 🎯 Prioritization: High, Medium, and Low priority levels
- 👥 Team Collaboration: Create teams and work together
- 📊 Progress Tracking: Subtasks and visual progress indicators
- 🔔 Smart Notifications: Stay updated on task changes
- 💾 Offline-First: Work anywhere with local ObjectBox database
- 🎨 Beautiful UI: Modern dark theme with Material Design 3
- 📱 Cross-Platform: iOS, Android, Web, macOS, Linux, Windows
-
Clone the repository
git clone https://github.com/chingalo-family/task-flow.git cd task-flow -
Install dependencies
flutter pub get
-
Generate ObjectBox files
dart run build_runner build --delete-conflicting-outputs
-
Run tests (optional but recommended)
flutter test # Or use the test runner script ./run_tests.sh
-
Run the app
flutter run
For detailed setup instructions, see the Getting Started Guide.
Comprehensive documentation is available in the docs/ directory:
- Overview - Introduction and key benefits
- Quick Start - Get up and running in 5 minutes
- Getting Started - Detailed installation guide
- macOS Setup - macOS-specific setup and troubleshooting
- Features - Complete feature list
- User Guide - How to use Task Flow
- Architecture - Technical architecture
- Technology Stack - Technologies used
- Contributing - Contribution guidelines
- Roadmap - Future plans
- FAQ - Frequently asked questions
- Changelog - Version history
- Website: https://chingalo-family.github.io/task-flow-website/
- Website Source Code: https://github.com/chingalo-family/task-flow-website
- API: https://vmi2503861.contaboserver.net/task-flow-api/
- API Documentation: https://vmi2503861.contaboserver.net/task-flow-api-docs/
- API Source Code: https://github.com/chingalo-family/task-flow-api
- Design Resources: https://stitch.withgoogle.com/projects/14437076708101911838
Task Flow helps you:
- 📋 Stay organized with intuitive task management
- ⏰ Never miss deadlines with due dates and reminders
- 🤝 Collaborate seamlessly with your team
- 📈 Track progress with visual indicators
- 🌐 Work anywhere with offline support
- Framework: Flutter 3.10.4+
- Language: Dart 3.10.4+
- Database: ObjectBox 5.1.0
- State Management: Provider 6.1.5+1
- UI: Material Design 3
- Security: flutter_secure_storage
See Technology Stack for more details.
We welcome contributions! Here's how you can help:
- 🐛 Report Bugs: Open an issue
- 💡 Suggest Features: Share your ideas
- 💻 Submit PRs: Fix bugs or add features
- 📖 Improve Docs: Help make documentation better
See the Contributing Guide for detailed instructions.
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ using Flutter and open-source technologies.
- Documentation: docs/
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Task Flow includes a comprehensive test suite with 196 tests covering models, utilities, state management, and widgets.
Quick Test Commands:
flutter test # Run all tests
flutter test --coverage # Run with coverage report
./run_tests.sh # Use test runner scriptTest Coverage:
- ✅ 87 Model Tests: All data models (Task, User, Team, Notification, etc.)
- ✅ 63 Utility Tests: Validation, formatting, and helper functions
- ✅ 66 State Tests: Complete state management coverage
- ✅ 4 Widget Tests: Core widget initialization
For detailed testing documentation, see test/README.md.
Task Flow uses ObjectBox for local database storage. You must generate the ObjectBox files before running the app:
-
Install dependencies:
flutter pub get
-
Generate ObjectBox code:
dart run build_runner build --delete-conflicting-outputs
The generated
lib/objectbox.g.dartfile is required for the app to run. -
Run the app:
flutter run
If you encounter "Operation not permitted" errors on macOS, use the clean build script:
chmod +x macos_clean_build.sh
./macos_clean_build.sh
flutter run -d macosThis ensures Xcode properly applies the entitlements that allow ObjectBox to work. See macOS Setup Guide for detailed troubleshooting.
For email notifications:
-
Copy example configuration:
cp lib/core/constants/email_connection.example.dart lib/core/constants/email_connection.dart
-
Edit with your credentials (
⚠️ Never commit real credentials!)
For connecting to the Task Flow API backend:
-
Copy example configuration:
cp lib/core/constants/api_config.example.dart lib/core/constants/api_config.dart
-
Edit the configuration with your API details:
- Set
baseUrlto your API domain (e.g.,vmi2503861.contaboserver.net) - Set
apiPathto your API path (default:/task-flow-api)
- Set
.gitignore file is configured to exclude this file.
See Getting Started for complete setup instructions.
Ready to boost your productivity? Start with the Quick Start Guide!