https://github.com/chmuhammadasim/todo-mobile-app
The To-Do App is a Flutter-based application designed to help users manage their tasks efficiently. It allows users to create tasks with scheduled notifications, toggle between light and dark themes, and view their tasks in a list.
https://github.com/chmuhammadasim/todo-mobile-app
flutter flutter-apps mobile-app todoapp
Last synced: about 2 months ago
JSON representation
The To-Do App is a Flutter-based application designed to help users manage their tasks efficiently. It allows users to create tasks with scheduled notifications, toggle between light and dark themes, and view their tasks in a list.
- Host: GitHub
- URL: https://github.com/chmuhammadasim/todo-mobile-app
- Owner: chmuhammadasim
- Created: 2024-07-24T07:28:19.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-07-24T07:52:48.000Z (10 months ago)
- Last Synced: 2025-01-28T18:16:03.052Z (4 months ago)
- Topics: flutter, flutter-apps, mobile-app, todoapp
- Language: C++
- Homepage:
- Size: 269 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# To-Do App
## Overview
The To-Do App is a Flutter-based application designed to help users manage their tasks efficiently. It allows users to create tasks with scheduled notifications, toggle between light and dark themes, and view their tasks in a list. The app ensures that notifications for tasks are sent even if the app is inactive or closed.
## Features
- **Add Tasks**: Users can enter tasks and set a due date and time.
- **Scheduled Notifications**: Notifications are scheduled and sent even if the app is not running.
- **Theming**: Users can switch between light and dark themes.
- **Task Management**: View a list of tasks, and delete them when completed.## Screenshots

## Installation
To set up the project on your local machine, follow these instructions:
### Prerequisites
Ensure you have the following installed:
- [Flutter SDK](https://flutter.dev/docs/get-started/install)
- [Dart SDK](https://dart.dev/get-dart)
- [Android Studio](https://developer.android.com/studio) or [Visual Studio Code](https://code.visualstudio.com/) with Flutter and Dart plugins### Clone the Repository
Clone the repository to your local machine:
```bash
git clone https://github.com/yourusername/todoapp.git
cd todoapp
```### Install Dependencies
Navigate to the project directory and install the required dependencies:
```bash
flutter pub get
```### Run the App
To run the app on an emulator or a connected device, use:
```bash
flutter run
```## Configuration
### Notifications
#### Android
1. **Permissions and Services**: Update your `AndroidManifest.xml` file to include the necessary permissions and services:
```xml
```2. **Notification Channel**: Ensure you have set up a notification channel in your code.
#### iOS
1. **Request Permissions**: Request notification permissions in your iOS app. Update `Info.plist` to include:
```xml
UIBackgroundModes
fetch
remote-notification
```2. **Local Notifications**: Make sure to configure local notifications for iOS as required.
## Code Structure
### `main.dart`
- **Entry Point**: Sets up the application, initializes notifications, and handles theme switching.
### `TodoListScreen`
- **UI for Tasks**: Displays the list of tasks, allows users to add new tasks, and manage existing ones.
- **Notification Handling**: Schedules notifications for tasks based on user input.### `TodoItem`
- **Model Class**: Represents a task with a title and due date/time.
## Dependencies
- [flutter_local_notifications](https://pub.dev/packages/flutter_local_notifications): Handles local notifications.
- [intl](https://pub.dev/packages/intl): Provides internationalization and localization support for formatting dates and times.
- [timezone](https://pub.dev/packages/timezone): Manages timezones for scheduling notifications.## Usage
1. **Adding a Task**: Enter the task title and select a due date and time. The task will be added to the list and a notification will be scheduled.
2. **Deleting a Task**: Swipe to delete tasks from the list.
3. **Toggling Themes**: Use the app bar button to switch between light and dark themes.## Contributing
We welcome contributions to improve the app. To contribute:
1. **Fork the Repository**: Create your own copy of the project.
2. **Create a Branch**: Work on a new feature or bug fix in a separate branch.
3. **Submit a Pull Request**: Submit a pull request with a description of your changes.## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Contact
For any questions, issues, or suggestions, please open an issue on the GitHub repository or contact me at [[email protected]](mailto:[email protected]).