Giter VIP home page Giter VIP logo

cellerarius's People

Contributors

rixx avatar

Watchers

 avatar  avatar

cellerarius's Issues

Data model

The software will be strictly tailored to me, so only my thoughts on important edge cases and acceptable workarounds matter.

  • User: nooooope no user model, I'm not in the mood. Can set a browser-local username to be used in the changelog. Yes, makes it unsuitable to being hosted online. Good.
  • Event: Everything will be event scoped. Recipes and groups will have to be re-created (with a "copy" option, so historical data like addresses and recipes don't get modified when things change the next year).
    • Attributes: name, comment (just to jot down some notes on how things went
  • Recipe: per-event model of a recipe
    • Attributes: name, event, output (amount of cookies in the default run), duration (optional, minutes), link, package_size (default=2, smaller / easier ones can go up to 4, super fancy ones just = 1. Will be multiplied with package multiplier).
    • Properties: is_vegan
    • Methods: contains(ingredient), multiply(), import() (from recipe-md data)
  • RecipeIngredient: through-model. No unit because we're using whatever's the obvious unit, fuckit.
    • Attributes: recipe, ingredient, amount
  • Ingredient: event-independent, used for shopping lists (transient) and planning based on allergies and preferences
    • Attributes: name, is_vegan, is_nut, is_milk, price (optional), comment, unit
  • IngredientStock: We're not tracking movements for ingredients, since we are not building an accounting tool. Simple interface to change what's there.
    • Attributes: event, ingredient, amount, material (like, paper, box, etc)
  • CookieStock: What's actually there. Again, like with ingredients, not actually a set of transactions, because โ€ฆ no
    • Attributes: recipe, amount
  • Package: It's called "package" rather than "recipient", because groups where one person has an allergy are two packages. Granted, they ship together, but still. Equally, people who get cookies multiple times are in here multiple times, and screw normalisation.
    • Attributes: name, shipping, only_vegan, no_nuts, no_milk, multiplier (default=1)
  • Shipping: One or more packages
    • Attributes: name, shipping_method (post, direct, carrier pidgeon), shipping_info, shipping_date (important!), done, event
  • PackageContents: Who gets what
    • Attributes: recipe, amount
  • LogEntry: generic model to track changes and make things reversible
    • Attributes: Who even knows? Probably an action_type, JSON data and probably not even a GFK

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.