A Todo List App
Doodle is a sleek and intuitive task management application built using Flutter. It allows users to manage their tasks efficiently with features like animated greetings, pinned tasks, and a beautiful, responsive UI. The app is designed with user experience in mind, providing a seamless task management experience on both Android and iOS devices.
- Provider State Management: Efficient state management using
provider
. - Pinned Tasks: Easily pin important tasks to access them quickly.
- Animated Greetings: A warm, animated greeting using
AnimatedTextKit
. - Task List: View, add, and manage your tasks in a structured list.
- Custom App Bar: Stylish app bar with a wavy text animation.
- Pie Menu Integration: Unique pie menu for additional functionality.
- Responsive Design: Smooth scrolling with
CustomScrollView
andSlivers
.
Doodle follows the MVC (Model-View-Controller) design pattern to ensure a clean separation of concerns and maintainability. Here's an overview of the architecture:
- Task: Represents the data structure for tasks, including properties like title, description, and pinned status.
- HomePage: The main screen that displays the task list and pinned tasks.
- CustomAppBar: Custom app bar with animated text.
- GreetingSection: Displays a greeting message to the user.
- PinnedTaskSection: Displays pinned tasks.
- TaskListSection: Displays a list of tasks.
- TaskList: A detailed list view of all tasks.
- TasksProvider: Manages the state of tasks and provides methods to manipulate the task data. It interacts with the model and notifies the view of any changes.
To get started with Doodle, follow these steps:
-
Clone the repository:
git clone https://github.com/Omar-26/Doodle_Tasks.git cd Doodle_Tasks
-
Install dependencies:
flutter pub get
-
Run the application:
flutter run
-
Adding Tasks:
- Open the app and navigate to the task list section.
- Use the provided UI to add new tasks.
-
Pinning Tasks:
- Long press on a task to pin it. Pinned tasks will appear in the Pinned Task section.
-
Using the Pie Menu:
- Right-click (or long press) on the screen to bring up the pie menu for additional options.
Contributions are welcome! If you have any ideas, or suggestions, or find a bug, please open an issue or submit a pull request. Follow these steps to contribute:
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature-name
- Make your changes and commit them:
git commit -m 'Add some feature'
- Push to the branch:
git push origin feature/your-feature-name
- Open a pull request.
This project is licensed under the MIT License.