Build me a Flutter Mobile App

Job ID: 32530084

Budget: ₹12,500 – ₹37,500 INR

I'm looking for a flutter mobile app developer.

The requirement is for a todo app with reminders, notifications, subtasks, etc...

General Layout
- Home page will have a list of todo items
- Clicking on each will open bottom sheet for that item - Todo display section
- Add button in the app header - Clicking will bring a bottom sheet with Todo Item Creation screen

Todo Item Creation
- Text field to get title for todo
- A button to open native calendar to choose a date - After adding, it will be displayed instead of that button
- A button to add note and then display that text and then able to edit it
- Button to add attachments - no image display inside app. Only display file names and have links to files. Clicking them would have to open the file with default application. Able to remove attachments.
- A section for sub-tasks. Must have a button to add sub task and will get added inside that section. Must have a checkbox after creation to mark if completed or not. Able to edit the created sub task
- A button to add reminder will display content in popup as described below

Reminder
- All reminders will have a common button to choose time and will be set on that time
- Other than time, day varies based on below options the reminder options are
- 'reminder on a selected date' - this option must bring up the calendar to choose the date
- 'reminder for weekly once' - this option must display options to choose between days as 'M', 'T', 'W', 'Th', 'F', 'Sa', 'Su' . User can select multiple days. The reminder must be set for every week on selected days
- 'reminder for monthly once' - display a number selector between 1-31. Reminder to be set for selected day for every month. For months that don't have 29, 30 or 31 the last day of that month will be internally set
- 'reminder of number of days once' - must be a number text input and reminder to be set to repeat those many days once
- all reminders must display a notification with the todo title as the notification title at the set time and on correct day as per reminder option

Todo Item Display
- clicking on the created todo item will display the todo in bottom sheet with edit, delete buttons in the bottom
- Clicking edit will load the creation screen with already created todo's content pre-loaded in the creation inputs
- Delete must prompt the user for confirmation before delete of todo

Design
- App will be material theme for android and cupertino theme for ios. So, never use one theme directly
- All UI elements such as buttons, popups/action sheets must be used with help of ‘flutter_platform_widgets’ to display the suitable widget for that OS

Technologies to use
- 'Hive' for database
- 'Getx' for state management
- Create controller for task
- use .obs for variables and use Obx for widgets
- Use flutter_hooks for widget level state management
- Use 'modal_bottom_sheet' for bottom sheets
- Use 'cupertino_icons' and 'material' icons as per OS
Related categories: Mobile App Development Dart Flutter