flutter_assignment
flutter_assignment
Objective:
reate a simple Flutter app that fetches data from an API and displays it in a visually appealing
C
manner. This assignment will help assess your understanding of Dart, Flutter, state management,
and API integration.
Requirements:
1. App Description: Create an app that displays alist of users. The app should
fetch user data from a public API and display the users’ names and email addresses in a
list view.
2. API: Use the following public API to fetch userdata:
https://jsonplaceholder.typicode.com/users
3. Features:
• Display a loading indicator while fetching data.
• Show a list of users with their name and email address.
• Implement pull-to-refresh functionality to refresh the list of users.
• Implement error handling for failed API requests.
Technical Requirements:
1. Flutter: Use the latest stable version of Flutter.
2. State Management: Use any state management approachyou are comfortable
with (e.g., Provider, Riverpod, Bloc).
3. Error Handling: Implement proper error handlingand show appropriate error
messages to the user.
4. UI/UX: Ensure the app has a clean and intuitiveuser interface. Follow Flutter’s
design principles and best practices.
5. Code Quality: Write clean, maintainable, and well-documentedcode. Follow
Dart’s style guide and best practices.
Bonus Points:
• Implement a search functionality to filter users by name.
• Add a detail screen that shows more information about the user when an item in the list is
tapped.
• Use custom widgets to organize your code better.
Submission Guidelines:
1. Source Code: Submit the complete source code ofyour Flutter app in a GitHub
repository. Ensure the repository is public or provide access to the specified GitHub
username.
2. README: Include a README file in your repositorywith the following
information:
• Project title and description.
• Instructions on how to run the app.
• Any assumptions or decisions you made during development.
• Screenshots of the app.
Evaluation Criteria:
1. Functionality: The app should meet all the specifiedrequirements and features.
2 . Code Quality: The code should be clean, well-organized, and properly
documented.
3. UI/UX: The app should have a user-friendly andvisually appealing interface.
4. Error Handling: The app should handle errors gracefullyand provide appropriate
feedback to the user.
5. Bonus Features: Any additional features implementedwill be considered a plus.