Skip to content

Latest commit

 

History

History
34 lines (25 loc) · 2.16 KB

flutter.md

File metadata and controls

34 lines (25 loc) · 2.16 KB

Flutter Coding Challenge

Problem

Create a Flutter app that allows users to browse and search for books using the Google Books API. The app should display a list of books based on the user's search query and provide detailed information about each book when selected.

Requirements

  1. Implement a search bar at the top of the app to allow users to enter their search query.
  2. Use the Google Books API (https://developers.google.com/books/docs/overview) to fetch a list of books based on the user's search query.
  3. Display the list of books in a GridView or ListView, showing the book title, author, and thumbnail image (if available).
  4. Implement pagination or infinite scrolling to fetch and display more books as the user scrolls.
  5. When a book is tapped, navigate to a detail screen that displays additional information about the book, such as description, publisher, publication date, and ISBN.
  6. Add a favorite button to each book item in the list, allowing users to mark books as favorites. Implement local storage (e.g., SharedPreferences) to persist the list of favorite books across app sessions.
  7. Implement proper error handling and loading states for API requests and data retrieval.
  8. Use any state management technique of your choice (e.g., Provider, Riverpod, BLoC) to manage the app's state and handle data fetching and sharing.
  9. The code should be well-organized, commented, and readable.
  10. You should use Git for version control.

Submission:

  1. Please create a public GitHub / BitBucket repository for your project.
  2. Your repository must have a detailed README.md with instructions on how to set up & run your code locally.
  3. We would like you to present your work no later than 3 days from the day you receive your task.

The presentation would be done in these steps:

  1. Run your code locally
  2. Give us a UI and features walkthrough
  3. Explain your code
  4. Run tests, if any

Feel free to use any additional packages or libraries you find useful. Provide the source code of the Flutter app and any necessary instructions to run it.

Remember, you can modify or extend this challenge according to your specific requirements and the skills you want to evaluate.