Code Monkey home page Code Monkey logo

flutter-assignment's Introduction

Assignment Title: E-commerce Development Task

Assignment Description:

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.

Instructions:

  1. Fork the provided project repository to your profile and clone it to your machine to begin the project.
  2. Design and implement a mobile application named "OnlineStore" that allows users to browse and search for products.
  3. 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/

Requirements:

  • 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.

Bonus Points:

  • 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.

Submission Guidelines:

  1. Fork this GitHub repository Assignment Repo to your own GitHub account.
  2. Commit your code regularly and push the changes to your forked repository.
  3. Build an Android APK and provide a download link in the DOCS.md file.
  4. Include screenshots of all the screens and describe the functionality of the whole application briefly in the DOCS.md file.
  5. 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!

flutter-assignment's People

Contributors

kafle1 avatar kunal-sah avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.