0% found this document useful (0 votes)
2 views

Task_Manager

The document outlines the development of a schedule manager app using Flutter, detailing its main features, including adding, editing, and deleting schedules through a user-friendly interface. It highlights the limitations of the current version, such as lack of data persistence and user authentication, while also discussing its usefulness for both users and developers. Future enhancements are suggested, including data storage solutions, user authentication, and push notifications to improve functionality and user experience.

Uploaded by

ritup4499
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Task_Manager

The document outlines the development of a schedule manager app using Flutter, detailing its main features, including adding, editing, and deleting schedules through a user-friendly interface. It highlights the limitations of the current version, such as lack of data persistence and user authentication, while also discussing its usefulness for both users and developers. Future enhancements are suggested, including data storage solutions, user authentication, and push notifications to improve functionality and user experience.

Uploaded by

ritup4499
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Task

manager
plan perfect
"Simplify Your Schedule, Boost Your
Productivity"

Name : Sujal Prakash Patil

Date : 13/7/2024
Introduction :-
• Overview
• This code defines a simple schedule manager app using Flutter. The app
consists of three main screens: a splash screen, a home screen, and an
add/edit schedule screen. The main functionalities include adding, editing,
and deleting schedules.

Main.dart :-

1.Imports and Main Function:


•Imports necessary Flutter packages.
•The main function initializes the app by running MyApp.
Main.dart file code :-
2.MyApp Class:

•Defines the main structure of the app.


•Sets the theme and initial route of the app.
•Specifies routes for navigation between the home screen and add schedule screen.

3.SplashScreen Class:

•Displays a splash screen with a fade-in animation.


•Transitions to the home screen after the animation completes.

4.HomeScreen Class:

•Displays a list of schedules.


•Provides functionality to add, edit, and delete schedules.
•Displays a welcome message and a button to add new schedules.
•Contains a navigation drawer for additional navigation options.
Add_schedule_screen.dart :-

1.AddScheduleScreen Class:
1. Provides a form for adding or editing a schedule.
2. Contains text fields for entering the schedule title and
time.
3. Validates input and returns the entered schedule data
to the home screen.
Detail
Description :-
2.SplashScreen:
•Uses AnimationController and CurvedAnimation for
the fade-in effect.
•Once the animation is completed, it navigates to the HomeScreen.
3.HomeScreen:
•Manages a list of schedules (_schedules).
•Provides methods to add (_addSchedule), edit (_editSchedule), and delete
(_deleteSchedule) schedules.
•Displays the schedules in a ListView.
•Contains a navigation drawer with options like Home, Settings, and Logout.
4.AddScheduleScreen:
•Uses TextEditingController for managing the text input for schedule title and time.
•If editing an existing schedule, it pre-fills the text fields with the current values.
•Validates the input and sends the result back to the HomeScreen.
OUTPUT :-
1.Home Screen UI:
2. The home screen features a navigation drawer
accessible via an icon on the top-left corner of the app
bar. The drawer includes options for Home, Settings,
and Logout.
3. The main content of the home screen includes a
welcome message: "Welcome to Schedule Manager
add Your Task" in a large, bold, purple-accented font,
centered on the screen.
4. Below the welcome message, there is an "Add
Schedule" button that users can press to add a new
schedule.
2.Adding a Schedule:
2. When the user presses the "Add Schedule" button,
they are navigated to the Add Schedule screen.
3. This screen features two text fields for entering the
schedule title and time.
4. After entering the details, the user can press the "Add
Schedule" button to save the new schedule.
5. If either the title or time field is empty, an alert dialog
is shown, prompting the user to enter both fields.
3.Viewing Schedules:
2. Once a schedule is added, it appears in a list
on the home screen.
3. Each schedule item in the list displays the title
and time entered by the user.
4. Each schedule item also includes edit and
delete icons.
4.Editing a Schedule:
2. Pressing the edit icon navigates the user back
to the Add Schedule screen, where the
existing title and time are pre-filled in the text
fields.

5.Deleting a Schedule:
2. Pressing the delete icon removes the
corresponding schedule from the list.
6.Navigation bar :
7. Home: Navigates to the home screen.
8. Settings: Currently, this option doesn't have a
defined route and would need to be
implemented for additional functionality.
9. Logout: This option is a placeholder and does
not have functionality implemented in the
provided code.
Limitations of the projects :-
•Data Persistence:
•Limitation: The schedules are stored only in the app's state, meaning they will be lost if the app is
closed or restarted.
•No Authentication:
•Limitation: There's no user authentication, meaning the app doesn't support multiple users or secure
access.
•Limited Input Validation:
•Limitation: Basic validation is provided for the title and time fields, but it doesn't check for valid
date/time formats or prevent duplicate entries.
•No Reminder or Notification Feature:
•Limitation: The app doesn't send reminders or notifications for scheduled tasks.
•Basic UI/UX Design:
•Limitation: The user interface is simple and lacks advanced design elements.
•No Support for Recurring Tasks:
•Limitation: The app doesn't support creating recurring tasks or schedules.
•Scalability Issues:
•Limitation: As the number of schedules increases, the app's performance may degrade due to the lack of efficient
data handling.
•Solution: Optimize data handling and use efficient data structures or pagination for displaying large lists of
schedules.

•Accessibility:
•Limitation: The app may not be fully accessible to users with disabilities.
•Solution: Follow accessibility guidelines to ensure the app is usable by everyone, including those with visual or motor
impairments.

Customization Options:
•Limitation: Users cannot customize the app's appearance or behavior to suit their
preferences.
•Solution: Provide options for users to customize themes, colors, and notification settings.
Usefulness of the task manager :-
• The schedule manager app project has several useful aspects for both users and
developers, contributing to its overall value and potential impact. Here’s an in-
depth look at the usefulness of this project:

• Usefulness for Users:-


1.Task Management:
1. Feature: Users can add, edit, and delete schedules.
2. Benefit: Helps users manage their daily tasks and appointments effectively, reducing the risk
of missing important events or deadlines.
2.Ease of Use:
1. Feature: Intuitive and user-friendly interface.
2. Benefit: Users of all technical skill levels can navigate and use the app without needing a
steep learning curve. The clean and simple design ensures a smooth user experience.
3.Visual Feedback:
1. Feature: Splash screen with animation and confirmation dialogs.
2. Benefit: Provides a visually appealing and engaging experience, making the app more
enjoyable to use. Feedback mechanisms ensure users are aware of successful and failed
actions.
4.Efficiency:
1. Feature: Quick access to add and edit schedules.
2. Benefit: Users can quickly input and modify their schedules, saving time and allowing them to focus
on other important tasks.

• Usefulness for Developers:-

1.Learning and Reference:


1. Feature: Implementation of basic Flutter features and state management.
2. Benefit: Serves as an excellent learning tool for developers new to Flutter. They can understand
how to structure an app, manage state, navigate between screens, and handle user inputs.
2.Modular and Extensible Code:
1. Feature: Separate classes for different screens and functionalities.
2. Benefit: Promotes good coding practices by maintaining modularity. Developers can easily extend
the app by adding new features or modifying existing ones without disrupting the overall structure.
Future scope of the project :-
• The future scope for the schedule manager app project includes a variety of enhancements and new
features that can significantly improve its functionality, user experience, and marketability. Here are
some potential areas for expansion:
• 1. Data Persistence:
• Implementation: Integrate local storage solutions such as SQLite, Hive, or SharedPreferences.
• Benefit: Ensure that schedules are saved and persist even after the app is closed or the device is
restarted.
• 2. User Authentication:
• Implementation: Add user authentication using Firebase Authentication or other authentication
services.
• Benefit: Allow multiple users to create accounts and securely access their personalized schedules.
• 3. Cloud Sync and Backup:
• Implementation: Integrate cloud storage services like Firebase Firestore or Google Drive.
• Benefit: Enable users to sync their schedules across multiple devices and back up their data to the
cloud.
• 4. Push Notifications:
• Implementation: Use Firebase Cloud Messaging or local notifications.
• Benefit: Send reminders and alerts for upcoming tasks and appointments, ensuring users stay on top
of their schedules.
Project References :-
1. Flutter Framework:
• Description: The schedule manager app is built using the Flutter framework
2. Dart Programming Language:
• Description: The app uses the Dart programming language, which is the language behind Flutter.
3. VS Code:
• Description: The code editor used for writing the Flutter code.
4. Android Studio:
• Description: The integrated development environment (IDE) used for testing the app on Android
devices.
5. SQLite Package (Optional for Future Scope):
• Description: Package for using SQLite in Flutter for local data storage
6. Dart Documentation:
• Description: Official Dart documentation for understanding the Dart language.

You might also like