Git Product home page Git Product logo

oricha-john-flutter-techtask-mobile's Introduction

Language : English | Bahasa Indonesia

Loom Video: https://www.loom.com/share/51d6f93ccabd4c3592e14c47a13aca2f?sid=484d401d-bb17-46c5-89ef-0bca91d99098

Steps to run

Step 1: Run this below command on your terminal (Must be ran on your project root dir)

flutter clean
flutter pub get
flutter pub run build_runner build --delete-conflicting-outputs

Tech Stack

  1. Flutter BLOC with Cubit
  2. Dio with Retrofit
  3. Json Serializable Model using Build Runner

Mobile Technical Task

Apps for Lunch Recipes Suggestion

Time Management

There is no deadline to do this tech task. It's up to you how you manage your time to accomplish at least the requirements.

Assessment

Our assessment criteria will pay attention to:

  • How the application is structured, and files are organised.
  • Code quality (Clean code).
  • The quality of test cases in your test suite.
  • Interpretation of the problem.
  • Use of git.
  • Implementation and final execution.
  • Commits, as this will allow us to understand some of the decisions you make throughout the process.

User Story

As a User, I would like to get a set of recipes what I can have for lunch today based on the contents of my fridge so that I can quickly decide what I'll be having.

Acceptance Criteria

  • Given that I have started the app, I should input my preference lunch date, or it would be today date if it is empty
  • Given that I have made a request to the /ingredients endpoint, I should receive a JSON response of the ingredients in my fridge.
  • Given that I get the options of my ingredients, I should choose some ingredients to get the recipes.
  • Given that an ingredient is past its use-by date (inclusive), I should not be able to choose that ingredient.
  • Given that I have chosen some ingredients, I should request to the /recipes endpoint with ?ingredients=<title-1>,<title-2>,<title-n> as a query parameter.
  • Given that I get the result of the available recipes, I should see a list of the recipes as well as the ingredients to make per recipes.

Additional Criteria

  • Fork this Flutter project as a base for your project.
  • The application MUST have more than one screen and navigation.
  • The application MUST contain unit / widget tests (e.g. using the flutter_test package).
  • The application MUST be completed using an OOP approach.
  • Any dependencies MUST be installed using dependency management tools (Pub for Flutter).
  • Any installation, build steps, testing and usage instructions MUST be provided in a README.md file in the root of the application. Do not use a autogenerated file

Framework

Use the Flutter framework.

API Endpoint

Documentation

https://documenter.getpostman.com/view/9359572/SW17TFmK

Mock Base URL

https://lb7u7svcm5.execute-api.ap-southeast-1.amazonaws.com/dev

Instruction

  1. Use /ingredients to get all of my ingredients on my fridge
  2. Use /recipes?ingredients=<title-1>,<title-n> to get recipes based on the preferred ingredients title

NOTES : This API is only a mock server to simulate the request and response body. So the result of the API does not affect your final result.

Submission

The application should be committed to a public repository on GitHub or BitBucket (<lastname>-<firstname>-techtask-mobile) and simply send us a link to the repository.

Getting Started with Flutter

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter, view online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

oricha-john-flutter-techtask-mobile's People

Contributors

johnoricha avatar

Watchers

 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.