TaskMaster is a cross-platform (Android, iOS, and Web) task management application developed using Flutter. It offers a streamlined and intuitive interface for efficient task organization and prioritization.
- π Task Overview Dashboard: A centralized dashboard displays all tasks, with convenient filtering options based on completion status (completed/pending).
- π Task Statistics: A dedicated statistics view provides insights into task completion rates, displaying the total number of tasks, completed tasks, and pending tasks. Future iterations will incorporate visual representations, such as graphs, for enhanced data analysis.
- β Task Creation: A user-friendly interface for adding new tasks, including details such as descriptions and due dates (to be implemented in future versions).
- βοΈ Task Editing: Modify existing tasks seamlessly via a dedicated edit view accessible from the task overview.
- ποΈ Task Deletion: Tasks can be easily removed with a swipe gesture on the task list. An undo functionality is provided for accidental deletions.
- βοΈ Comprehensive Settings:
- π¨ Theme Customization: Personalize the app's appearance with light, dark, and system theme modes, along with customizable accent colors (Grey, Red, Blue).
- π€ Font Options: Select from a curated collection of 10 Google Fonts and adjust the font size (Default, Medium, Large) to optimize readability.
- π Localization: The app supports both English and Arabic languages, with full localization and right-to-left (RTL) layout support.
- βΉοΈ About TaskMaster: Provides information about the application, including a description and a list of open-source licenses for dependencies.
Here's a visual overview of TaskMaster's key features and screens, showcasing both Left-to-Right (LTR) and Right-to-Left (RTL) layouts:
Feature/Page | LTR | RTL |
---|---|---|
Todos Overview | link | link |
Add Todo | link | link |
Todos Stats | link | link |
Language Settings | link | link |
Theme Settings | link | link |
Font Settings | link | link |
Light Mode | link | link |
About Us | link | link |
Error | link | link |
TaskMaster is built upon a layered architecture, adhering to SOLID principles and clean code practices for maintainability and scalability. BLoC (Business Logic Component) is employed for state management, ensuring consistent and predictable application behavior. A robust error handling mechanism, utilizing custom exceptions, provides informative error messages to the user through dedicated UI screens. Task data and user preferences are persistently stored using local storage.
This section outlines the features currently planned for future development.
- β° Reminders and Due Dates: Set reminders for specific times or locations and assign due dates to tasks.
- π·οΈ Task Categorization/Tagging: Organize tasks using categories, tags, projects, or lists.
- π Synchronization Across Devices: Access and manage tasks seamlessly across multiple devices.
- π€ Collaboration/Sharing: Share lists or tasks with others, assign tasks, and collaborate on projects.
- β Priority Levels: Assign priority levels (e.g., high, medium, low) to tasks for better prioritization.
- π Recurring Tasks: Set tasks to repeat on a regular basis (daily, weekly, monthly, etc.).
- β¨ Enhanced Task Overview Page:
- π Clear Visual Cues: Display due dates, categories/tags, priority levels, and recurring task indicators prominently.
- ποΈ Interactive Elements: Implement filtering (by completion, category/tag, priority, due date) and sorting (by due date, priority, category/tag, alphabetically).
- π Swipe Actions: Maintain swipe-to-delete and consider adding swipe-to-edit or swipe-to-mark-as-complete.
- βοΈ Tap to Edit: Make task items tappable to open the edit screen.
- ποΈβπ¨οΈ Visual Hierarchy: Use clear spacing, concise information, and consider progress indicators.
- π Empty State: Display a friendly message and call to action when there are no tasks.
- Ensure that the Flutter SDK is installed on your development machine. Refer to the official Flutter installation guide for detailed instructions.
- Clone the TaskMaster repository:
git clone https://github.com/fulleni/TaskMaster.git
- Navigate to the project directory:
cd TaskMaster
- Install the required dependencies:
flutter pub get
- Connect a physical device (Android or iOS) or launch a simulator.
- Execute the application:
flutter run
For web deployment:
- Execute the application:
flutter run -d chrome
(or your preferred browser)
We welcome contributions from the community! Please submit issues and pull requests through the repository.
This project is licensed under the MIT License.
For bug reports and feature requests, please use the issue tracker. For general discussions, questions, and community conversations, feel free to use the issue tracker tab.