Giter Site home page Giter Site logo

tp's Introduction

CI Status

codecov

Fridgy

Ui

What is Fridgy?


  • Fridgy is a Food Inventory Manager that makes it easy to reduce food waste by keeping track of what you have and when it expires.
  • Fridgy's built-in Recipe Tracker matches recipe ingredients to ingredients in your inventory and helps to keep track of the quantity of ingredients.

Our Motivation


It can be hard for the typical adult who cooks often to stay on top of the ingredients that they have in their pantry, as they may be too busy to actively keep track of them.

This can result in food wastage, in the form of constantly throwing away expired food.

Fridgy was thus developed to solve the issue of having to manually track ingredients (and their expiry dates) in a pantry.

Who is it meant for?


  • Households or individuals who want to keep track of groceries for meal preparation.
  • Households or individuals who want to reduce food wastage.
  • Individuals who are comfortable with a Command Line Interface (CLI).

Example Usages


  • As a user, you can add an ingredient (along with quantity and expiry information) in your pantry for tracking through the Command Line.
    • You can also delete, view or edit information related to the ingredient.
  • As a user, you can add a recipe to Fridgy through the Command Line.
    • You can also delete, view or edit the recipe.
  • Easily search for a previously added recipe or ingredient by name.

This project is based on the AddressBook-Level3 project created by the SE-EDU initiative.

tp's People

Contributors

zhiyuan-amos avatar pyokagan avatar yamgent avatar damithc avatar alissayarmantho avatar rootkie avatar rebeccacxy avatar naylin-h99 avatar pattan9955 avatar m133225 avatar mightycupcakes avatar yamidark avatar rinder5 avatar j-lum avatar eugenepeh avatar limmlingg avatar sijie123 avatar chao1995 avatar vivekscl avatar lejolly avatar yl-coder avatar fzdy1914 avatar pierceandy avatar ndt93 avatar edmundmok avatar kychua avatar wltan avatar ernestlim8 avatar alexlmeow avatar okkhoy avatar

Watchers

 avatar  avatar  avatar

tp's Issues

Move draft UG into the User Guide page in docs

Update draft UG in /docs according to our own google docs.

If a feature is not implemented in the current version, you can either omit it from the UG or mark it as 'Coming soon' (e.g., ## Archiving contacts [coming soon]).

Refactor existing code base to be more generic

Model and Command are specific to Person objects despite using generic names like Model and AddCommand. This limits the extensibility of the code since we are going to have 2 new types of model for the project.

We should refactor all existing genericly named classes that are specific to Person class to reflect its true purpose. In order to reduce code reuse in the long run, we should also try to make use of generics.

For example,
Model -> Model
AddCommand -> AddCommand
Create AddPersonCommand to extend AddCommand

Fix print format issues for Recipe and Ingredient

  • Recipe currently prints with numbers for steps under view but not for the output of each command.
  • The sequence is also unintuitive (i.e. name, ingredients, steps then description) for view recipe
  • Some style issues overall for the outputs of commands from both Recipe and Ingredient.

Simple view command for the empty space

Since we have opted for the more polished UI instead of having 2 side by side list, we have a big empty space above command box. For 1.2 to be complete I think we should have somethings displayed there.

I think I will implement a simple recipe detail viewer above command box by today.

Cap characters

Super massive input will still break the UI (truncates). We should cap the num of chars to prevent this. Can do later

Screenshot 2021-10-11 at 1 41 51 AM

Clean up code base

  • Make sure address book or description book is gone and change it to inventory/recipe book as appropriate
  • Check the returned error messages (eg: missing spaces) that makes the sample command not copy-pastable (add ingredient error message is an example)
  • Rename ingredients commands and parsers to include ingredients and move them to the ingredient folder just like the recipe counterpart
  • Organisation of code (functions related to ingredients should be grouped together with comments to denote the section etc)
  • Some misplaced assertion arguments (should be expected vs actual but it was actual vs expected instead)
  • Optional (Code style refactoring, the test cases have different styles of writing between ingredient and recipes and a mix of here n there, recipe use stubs, ingredients don't, etc)

Add Clear Recipe command

This will also include making the current clear ingredient command from clear to clear ingredient

Unify Recipe and Inventory Parsers with a single common FridgyParser

Fridgy uses RecipeParser to parse commands related to Recipes and InvetoryParser to parse commands related to Ingredients. This leads to a hacked-together solution in terms of parsing inside the LogicManager class.

Unifying the two Parsers under a single FridgyParser class that will be used in the LogicManager class leads to cleaner and more understandable code.

Update DG

Update DG to fit the new milestone 1.3

Update UG according to feedback

please just check a local build on jekyll or github before merging....

  • change this weird styling

Screenshot 2021-10-21 at 5 56 19 PM

  • remove random whitespaces after h1
  • use text bolding more sparingly
  • use newlines to remove horizontal scrolling of code snippets
  • fix this wrong formatting:

Screenshot 2021-10-21 at 6 00 36 PM

  • crop screenshots with too much empty space like this...

image

Update ReadMe

  1. Add UI mockup of the intended final product. Image of the UI should be docs/images/Ui.png. Ensure new image is roughly the same height x width proportions as the original one.
  2. Update all contents to match your own project
  3. Update the link of the GitHub Actions build status badge so that it reflects the build status of team repo
  4. Acknowledge the original source of the code e.g.,
    This project is based on the AddressBook-Level3 project created by the [SE-EDU initiative](https://se-education.org).

Edit error messages when user input wrong commands

The spaces sometimes are incorrect either in the description or in the example command. Probably once everything finish, can check these error msgs.

Also when the user just types add, it just throws the add ingredient error message, maybe can add the recipe error message as well as the user just types add without specifying what they want to do.

Implement Recipe class in model

Implement recipe class as a model that can be saved and loaded as json. Do not need to have corresponding commands, just ensure tests are written to confirm the behaviours.

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.