Code Monkey home page Code Monkey logo

openbrews's People

Contributors

briantwatson avatar hisk avatar icyflame avatar jamesfranc avatar michaelwashburnjr avatar minibhati93 avatar rustybailey avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openbrews's Issues

Dropdown Menu's fight to be on top

This issue is on branch add-smart-text, in "edit-recipe.html", "fermentable.html", and "edit-recipe.scss"

I made the fermentable name a smart text field with a dropdown that searches for likely inputs. However, the beer style dropdown (above fermentables) is now going behind the fermentables field. It really looks like crap and can't stay. I'm not the best at HTML/CSS but have tried a few things and I'm not quite sure where to go next.

Any help would be appreciated, whether it be just suggestions or a PR.

Upgrade Beer Style to smart-type field in Add Recipe page

Turn the Beer Style field on the Add Recipe page into a smart-type field, which searches beer styles on the brewerydb to select the desired style. We should limit users to only selecting from one of these recognized styles, as there are a butt-ton of them.

Hook up delete button in recipe list

We need to make a function to delete the selected recipe from the list. There is a button stubbed out that can be viewed when you slide the list item to the left. We just need to write a function to delete the item from the database.

Add Good Color Scheme

Still using a blank white scheme, if someone wants to add some color to the scss, that'd be great.

Condense fields on View Recipe

  • OG/FG can be on one line
  • ABV/ABW can be on one line
  • IBU/SRM aren't related, but for space conservation they can be on one line
  • For fermentables, only the Name , weight, and weight units need to be plainly visible. The rest can be moved into a collapsible panel, or a modal that pops up when the fermentable is clicked
  • Only the hop name, weight, and weight units need to be visible, see fermentable above.
  • Only the yeast name needs to be visible, see above for the other yeast info
  • All adjuncts (other) ingredients can be listed with their name/weight
  • all notes need to stay displayed at the bottom

View Recipe

Add a page to view a single recipe and all of its components.

Write calculator services

Need to write calculator services to calculate values for recipes like estimated OG/FG, IBU, ABV, etc (these can be based on this project.

These should be simple services, and ideally will accept whole recipe objects. See wiki for recipe format.

Calculate OG/FG from Recipe and display on Edit Recipe and View Recipe

We should calculate the estimated original and final gravity based on the ingredients in the recipe. This project is open source and contains similar logic. We should make the OG/FG editable on Add/Edit Recipe, and display it in View Recipe. However, we should overwrite existing values with our calculation if the fermentable ingredients change.

We will also need to add these fields to our current Recipe data structure I believe.

Read this to find out more about OG/FG.

Upgrade Yeast Name to smart-type with autofill

Depends on #18 . Update the yeast name field to a smart-type field pulling yeast products from brewerydb. Autofill all possible fields based on the selection. Do not force users to select from this list, custom values are accepted.

Calculate SRM and Display on Edit/View Recipe

We should calculate the SRM of the brew based on it's ingredients. This project has logic to do this and is open source. We should store this value on our recipe object, and make it editable in the Edit Recipe form. However, we should overwrite it with our calculation whenever ingredients are modified.
Read this to find out more about SRM.

Add "Edit Recipe" functionality and hook up button

On the recipe list, there is a button to edit a recipe if you slide the list item to the left. We need to make a page to edit this recipe, using the same form as "Add Recipe", and then hook the existing edit button up.

Show minutes left only if the stage is set to Boil

The ng-if directive will come in handy, use something like:

<label ... ng-if="other.stage.toLowerCase() === 'boil'">... Minutes Left</label>

This will ensure that the label element will show up only if the stage is set to boil.

Add/List Host

If this is already running somewhere, you should post a link to where.

If it's not, you should set up an auto-deploy watching for pushes to the master branch with heroku.

Margins are off on iOS when run in Ionic View app

Follow the instructions in the readme to build the app for Ionic View. On an iOS device, load the OpenBrews app in Ionic View. Notice the margins are off, making the app unusable. We need to fix this without affecting the app build in Ionic Lab and Android

Rows should be identical heights

screen shot 2016-10-25 at 2 35 52 pm
On the "Add Recipe" page, the rows that class="item item-input item-select" should be identical to the rows that are class="item item-input". I believe this would have a better visual experience that different sized rows.

Validation of a recipe: Don't let user add an empty recipe

Right now, there's absolutely no validation. We can use HTML5 validation for specifying sane defaults for every field.

This might be slightly irritating when developing the application, but it will certainly be required in the stable release.

Mine additional data for ingredients

The breweryDB service we use lacks quality ingredients data. We need to mine some more data, convert it to their format, and send it to them to improve their service. Ingredients we should gather data for are fermentables (grains, extracts, etc), hops, and yeast.

To do this we need to...

  • mine data from Northern Brewer, Midwest Supplies, and Homebrew Supply and put it in json format (specific to the individual website only at this point. i.e. doesn't have to be a common json format)
  • transform the mined json data into the format breweryDB uses.
  • Post data on this issue and I will review and send to breweryDB to improve their service. I have spoken with them already regarding this.

Smart-text field lists do not scroll

The smart text lists (dropdowns) can not scroll down. The only way to navigate through them currently is to keep typing. This needs to be fixed so that you can scroll through the list (of beer styles for example). You should be able to swipe through the list, moving the contents within the list up and down. I suspect this can be fixed by making the list container shorter, giving it overfow: hidden, and making it scrollable.

This should be possible without modifying the angular-input-dropdown library, but if we really need to, we are already using a custom fork of it (because the original wasn't good enough).

Create a better gitignore

  • Shouldn't include the CSS files which are generated by gulp
  • Shouldn't include .io-config.json file which is generated by ionic on running ionic upload

Integrate with new API

I've been working on an API replacement for BreweryDB. This was prompted by BreweryDB not responding to suggested improvements in their ingredients database. I'm close to finishing Authentication for the API. After which I'll provide documentation and host the API on AWS.

Add Hops to "Add Recipe" form

We need to add a hops section to the "Add Recipe" form. See the Wiki for the Recipe data format. We will need to add a part of the form to add hops to satisfy this data model. This should be based off the current fermentables section.

Scrollbar doesn't "refresh" after adding/removing ingredients

When you add or remove an ingredient on the recipe page, the scrollbar doesn't refresh it's size.

Steps to reproduce:

  1. Create a recipe with a few ingredients
  2. Edit the recipe and remove all ingredients
  3. Save the recipe and go back to all recipes
  4. Edit the same recipe and add an ingredient
  5. Now it's not possible to scroll down to the save button because the scroll bar didn't refresh

No validation is performed when saving a Recipe

When creating or saving a Recipe the app does not appear to perform any validation on the fields. Of particular note - you can create a recipe with an empty string as it's name. Saving this then results in a blank button, which probably isn't an intended bit of functionality.

Upgrade Fermentables to Smart-Type field with autofill

Depends on #3. Change the text field for the fermentable name to a smart-type field which searches brewerydb. We should not limit users to these selections. If a selection is made from brewerydb we should autopopulate the PPG and SRM.

Add Confirm Deletion Modal when deleting a recipe

On iOS, if you slide a recipe in the list to the left and click delete...
Or on Android if you click the delete button...

We should make an $ionicPopup to confirm the user wants to delete it. Text should read "Are you sure you want to delete {{recipe.name}}?" It should have a red delete button, and a regular/default colored cancel button.

Calculate IBU and show on Edit/View Recipe Pages

We should calculate the IBU of the brew based on it's ingredients. This project has logic to do this and is open source. We should store this value on our recipe object, and make it editable in the Edit Recipe form. However, we should overwrite it with our calculation whenever the ingredients it uses in its calculation are modified.

Read this to find out more about IBU.

Add Edit Recipe Functionality

This should reuse the "Add Recipe" form. When you slide a recipe in the recipe list one direction, an edit button should appear. (See #26 for discussion on sliding direction)

Add Configuration Management

We should make it so the main module (openbrews.js) reads in values from a config file (openbrews.config.json). We should not add the config file to the repository, but we should add an example config to the repository (something named like openbrews.config.ex.json).

This is needed at minimum to store the brewerydb API key for the app. I will keep a concrete config in a gist and share it upon request with developers.

Add yeast to "Add Recipe" form

There needs to be a section to add one or more yeasts to the recipe. Base the UI off the fermentables form, and be sure to satisfy the recipe.yeast data format in the wiki.

Add Delete Recipe button in recipe list

Make it so that if you slide the recipe to the right on Recipe List, a delete button appears on the left side of the row. When clicked, this should remove the recipe from local storage.

(Maybe the delete button should appear when you slide the recipe to the left? I'm not sure what the best ux practices are)

be sure to use both ng-click and ng-tap on the button.

Calculate Estimated ABV and ABW and display on Edit/View Recipe

We should calculate the estimated ABV (Alcohol by volume) and ABW (Alcohol by weight) based on the OG/FG. This project has logic to do this and is open source. We should store these values on our recipe object, and make it editable in the Edit Recipe form. However, we should overwrite them with our calculations whenever the OG/FG change.

Read this to find out more about ABV/ABW/OG/FG.

Depends on #58

'Add Recipe' Page

Create an add recipe button which creates a new recipe. A recipe should have:

  • Name
  • Style (I.e. American Pale Ale)
  • Batch Size
  • Fermentables
  • Hops
  • Yeast
  • Other (may have associated times if added during boiling process)
    This function should create a new recipe and persist it to local storage on the mobile device. Be sure to do any functionality specific to mobile devices in a conditional only executed on those devices.

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.