Welcome to the Flutter Developer Assignment! Weβre excited to see your skills in action. This assignment is designed to evaluate your Flutter development skills, understanding of APIs, and your ability to create a user-friendly application.
- Build an Android and iOS app using Flutter.
- Use a public API to fetch data and display it in a list format.
- Implement the following features:
- Search Bar: Allow users to search through the list of data.
- Recent Searches: Display a list of the most recent search terms entered by the user.
- Host the code in a public GitHub repository.
- Share the repository link and include the following in your submission:
- Screenshots of the working app.
- Optionally, upload the APK of the app for extra points.
- Use a public API of your choice to fetch data (refer to suggestions below).
- Display the fetched data in a scrollable list.
- Implement a search bar at the top of the list.
- Show a dropdown or horizontal list of recent searches below the search bar.
- Optimize the UI to be responsive and visually appealing.
Here are some interesting APIs you can use for the assignment:
-
The Movie Database (TMDB)
- Base URL:
https://api.themoviedb.org/3/ - API Key: Sign up for a free account to get your API key.
- Docs: TMDB API Documentation
- Example: Fetch popular movies and implement a search functionality.
- Base URL:
-
OpenWeather API
- Base URL:
https://api.openweathermap.org/data/2.5/ - API Key: Sign up for free access.
- Docs: OpenWeather API Documentation
- Example: Fetch current weather data for a list of cities and enable search.
- Base URL:
-
JSONPlaceholder API
- Base URL:
https://jsonplaceholder.typicode.com/ - Docs: JSONPlaceholder API Documentation
- Example: Fetch a list of users, posts, or todos.
- Base URL:
-
Dog CEO API
- Base URL:
https://dog.ceo/dog-api/ - Docs: Dog API Documentation
- Example: Fetch a list of dog breeds and images.
- Base URL:
-
Public APIs Directory
- Explore public-apis.io for more APIs.
- GitHub Repository: Create a public GitHub repository and commit your code.
- Include a detailed
README.mdfile explaining your app, API usage, and steps to run the project.
- Include a detailed
- Screenshots: Add screenshots of the app in the repository.
- APK: Share a working APK file of the app for extra points.
- Link: Share the GitHub repository link with us.
- Implement a persistent storage mechanism to save recent searches (e.g., Shared Preferences or SQLite).
- Make the UI interactive and user-friendly with animations or theming.
- Use state management libraries like Provider, Riverpod, or Bloc.
- Code Quality: Readability, modularity, and adherence to best practices.
- App Functionality: Proper API integration and feature implementation.
- UI/UX: Clean and visually appealing user interface.
- Innovation: Any additional features or creative enhancements.
We canβt wait to see what you build! Good luck and happy coding! π