In this assignment, you will create a basic e-commerce application using Flutter. You'll apply key Flutter concepts and fundamental mobile app development skills. Your task is to develop a multi-page mobile application named "OnlineStore" that allows users to browse and search for products.
- Fork the provided project repository to your profile and clone it to your machine to begin the project.
- Design and implement a mobile application named "OnlineStore" that allows users to browse and search for products.
- The application should have the following screens:
- Home Screen: Display a list of products with their images, names, and prices. Fetch the list from the provided API endpoint.
- Search Screen: Include a search bar where users can input the name of a product. On form submission, display a list of search results (products) fetched from the API endpoint.
- Product Details Screen: When a user taps on a product from the search results or product list, they should be navigated to a screen that displays detailed information about the product, including the product image, name, price, and description.
You can fetch data using the following API endpoint: https://fakestoreapi.com/
- Use Flutter to create the mobile application.
- Create a visually appealing UI using Flutter widgets and customize the design based on any references (do not clone any existing e-commerce platform).
- Use a state management library like Provider, Bloc, or Riverpod to manage the app's state.
- Implement navigation between screens to enable smooth transitions.
- Write clean, maintainable, and well-documented code.
- Use Git for version control, committing your code regularly to the forked Git repository in your profile.
- Build an Android APK and provide a download link in the DOCS.md file.
- Include screenshots of all the screens and describe the functionality of the whole application briefly in the DOCS.md file.
- Implement a responsive UI to improve the user experience on different screen sizes.
- Add a shopping cart functionality where users can add products to the cart and view the cart.
- Use a state management library like Bloc or Riverpod instead of Provider.
- Handle loading and error states during data fetching.
- Implement additional features to enhance the application's functionality and user experience.
- Fork this GitHub repository Assignment Repo to your own GitHub account.
- Commit your code regularly and push the changes to your forked repository.
- Build an Android APK and provide a download link in the DOCS.md file.
- Include screenshots of all the screens and describe the functionality of the whole application briefly in the DOCS.md file.
- Once you have completed the assignment, share the repository URL with us via the submission form.
- Submission Deadline: Saturday, July 8, 2023, 4:00 PM
Check out the discussion section of this repo to ask any related queries or doubts. Note: The assignment is intended to help you grasp basic concepts. Don't hesitate to ask for any clarifications in the discussion section of this repo. Good luck with your assignment!