Create a file manager application made with Flutter that allows users to view, create, edit, and delete files and folders on their device.
Technical Requirements:
- The application should have a home screen that displays the files and folders in the device's root directory.
- The user should be able to navigate through the directories and view the files and folders inside them.
- The user should be able to create new files and folders in the selected directory.
- The user should be able to rename, move, and delete files and folders.
- The application should have a search bar to search for files and folders by name.
- The application should be able to display the details of a selected file, including its name, type, size, and modification date.
- The application should allow users to sort the files and folders in the selected directory by name, type, size, and modification date.
- The user should be able to filter the files by type or name using a search field.
- The developer should write unit tests for the application's logic and functionality.
- Create a home screen that displays the files and folders in the device's root directory.
- Implement navigation through the directories and viewing the files and folders inside them.
- Implement the functionality to create new files and folders in the selected directory.
- Implement the functionality to rename, move, and delete files and folders.
- Add a search bar to the application to search for files and folders by name.
- Add a form that allows users to add new files to the selected directory. The form should have fields for name, type, and size.
- Display the details of a selected file, including its name, type, size, and modification date.
- Implement sorting and filtering functionality for the files and folders in the selected directory.
- Write unit tests for the application's logic and functionality.
- Code quality and structure.
- Compliance with the technical requirements and project brief.
- User interface design and usability.
- Functionality and feature implementation.
- Error handling and user feedback.
- Form field validation and submission.
- File details and sorting/filtering functionality.
- Unit testing coverage and effectiveness.