Code Monkey home page Code Monkey logo

cocktails's Introduction

cocktails

User-generated cocktail recipes. Search by title, ingredient, or library of recipes.

Tests

  • cd into Take02.Tests
  • Run dotnet xunit

cocktails's People

Contributors

andrewralon avatar eouw0o83hf avatar

Stargazers

 avatar

Watchers

 avatar

cocktails's Issues

Displayed item names link to relevant pages

As a user, I want to quickly get to more information by clicking on useful words so I can go to the page for that item.

Linking items / pages together means the menu can be simpler (no need for Components, for example), users can quickly reference similar information, and other links may be removed (Details, for example).

The views will eventually have links to fill in any gaps in top level menus.

  • Example 1: ComponentType -> click on Rum -> shows all Rum components.
  • Example 2: Library -> click on Death & Co -> shows all Recipes for Death & Co.
  • Example 3: Recipe -> click on a recipe -> shows Details page
  • Example 4: Recipe Details -> click on a Component -> shows Component details (....and eventually shows X recipes with that component, too).

AC

  • Clicking on Library names shows Recipes in that library.
  • Clicking on Recipe names shows Details.
  • Clicking on a Component in Recipe Details shows Component Details.
  • Examples above work as described, unless their functionality does not exist yet (showing all Rum components is out of scope, so obviously that is not expected).

Relates to #5

Fix published CSS

As a dev, I'd like Landie's work on the UI to get published with everything else so I don't go blind from staring at a huge non-centered banner and a vacuum of CSS.

The small, sexy, centered banner in a row of black isn't getting published that way.

HINT: This part in _Layout.cshtml looks pretty suspect....
<environment include="Development"> <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" /> <link rel="stylesheet" href="~/css/site.css" /> </environment> <environment exclude="Development"> <link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/css/bootstrap.min.css" asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css" asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" /> <link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" /> </environment>

AC

Homepage looks the same published as when debugging locally (see below)

  • Compare debugging in VS (correct)
    image
  • to the published version on EC2 (blech)
    image

Configure Travis-CI properly

As an ops, I need Travis-CI to be configured properly, so it will build properly after commits, so I can trust the results.

Setup CI gating / auto-deploy process

As an ops, I need a good way to determine when to deploy all the way to prod, so we're not deploying every passing commit!

CI is working fine, but it needs to hand off to CD better. Unless it's getting merged to master and is ready to go live, it shouldn't be deployed. How should that be handled?

Show Recipes by Library

As a user, I want to see all of the recipes in a library, and only recipes from that library, for a better search experience. Right now, all recipes show together.

Use case:
Clicking the Library name opens a view of all recipes in that library. URL will be something like:

  • /Libraries/{guid} (best),
  • /Libraries/{guid}/Recipes (good enough), or
  • /Libraries/Recipes/{guid} (poor due to ambiguity)

AC

  • Recipes for a specific Library can be viewed.
  • The home page link to a Recipe goes directly to this view.
  • Recipes can still be viewed all together if no Library is given.

Relates to #6

Show/Hide Ingredients doesn't work

As a user, I want to choose to see the ingredients with the recipes in Recipe's Index and Library/{guid} views.

This feature previously worked. It probably broke with the new Recipe and Library services.

Display most common N components for a library

As a user, I want to know the most common / prolific components used in recipes, so I can know which component to buy next as I build out my personal collection of cocktail ingredients, so my inventory makes the greatest possible number of cocktails.

AC

  • The UI has a view of the most common components for a library.
  • The view shows 20 components (20 may change, so make it dynamic).
  • The view shows the number of cocktails requiring each component โ€“ see example with 4 made-up most common components:
    -- Beefeater Gin - 200 recipes
    -- Lemon Juice - 149 recipes
    -- Tanqueray Gin - 112 recipes
    -- Lime Juice - 104 recipes

Improve connection string secrets handling

As an ops, I need a better way to get the secrets into the right place at the right time. Currently, it's a bit of a hack.

Microsoft's UserSecrets nuget package doesn't really help unless I can get the contents of secrets.json to TravisCI.

Component input autocompletes and inserts if doesn't exist

As a user, I want to have the Component input field autocomplete my available options as I type, allowing me to quickly find and choose the desired component from a long list using the keyboard or mouse.

I also want to add a new Component by typing a new name so that adding a component is automatically done when creating Recipes.

NOTE: A scrollbar in list of options is preferred. If not, displaying the top 1-5 filtered options will suffice.

AC

  • NOTE: These criteria apply to Recipe's Create / Edit views.
  • Component input is blank when adding a new ingredient in Recipe's Create / Edit views.
  • Component input can be changed when editing an existing ingredient.
  • As user types, 1-5 autocomplete options are shown below, with a scrollbar if for more than 5.
  • User may type a new Component name.
  • New Component is inserted in the Component table when submitting changes to the Recipes Create / Edit views.

References

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.