Welcome to the Flutter Mobile Application Developer Intern Hiring Challenge! We are excited to evaluate your skills and potential to join our team as a software engineering intern working on our productivity mobile app solution for SME enterprises. This challenge is designed to assess your proficiency in Flutter app development, problem-solving abilities, and attention to detail.
You will be building a simple Flutter mobile application that demonstrates your ability to create a user-friendly interface and handle data management. This application will simulate a task management tool for SME enterprises. The main functionalities you need to implement are as follows:
- Create a screen with a list of tasks. Each task should display its title, due date, and priority level (e.g., low, medium, high).
- Implement a way to add new tasks to the list.
- Implement a way to mark tasks as completed and remove them from the list.
- When a user taps on a task in the list, navigate to a detailed view.
- Display all the task details, including title, description, due date, and priority level.
- Provide an option to edit the task details and save the changes.
- Use a state management solution (e.g., Provider, Bloc, or Riverpod) to manage the application's state.
- Store task data locally using a suitable storage solution (e.g., Hive, SQLite, or SharedPreferences).
- Ensure that the user interface is responsive and looks good on both Android and iOS devices.
- Implement proper error handling and validation for user inputs.
- Write clean and organized code with comments where necessary.
- Provide a README file with instructions on how to build and run your app.
-
Fork this GitHub repository to your own account to start working on the challenge.
-
Build the Flutter mobile application according to the specifications mentioned above.
-
Use version control (Git) to track your progress and commit your changes regularly with meaningful commit messages.
-
After completing the challenge, create a pull request from your forked repository to the original repository, and include the following in the PR description:
- A brief overview of the approach you took to solving the challenge.
- Any challenges or difficulties you encountered and how you overcame them.
- Any additional features or improvements you would make if you had more time.
-
The deadline for completing this challenge is two days from the time you receive it.
Your submission will be evaluated based on the following criteria:
- Completeness and functionality of the app.
- Code quality, organization, and best practices.
- Proper use of state management and data storage.
- User interface design and responsiveness.
- Error handling and validation.
- Documentation and README quality.
Please respect the two-day deadline for this challenge.
Good luck with the challenge! We look forward to reviewing your work and potentially having you join our team as a software engineering intern. If you have any questions or need clarifications, feel free to reach out to us. Happy coding!