-
Notifications
You must be signed in to change notification settings - Fork 0
/
notes
84 lines (49 loc) · 5.42 KB
/
notes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
Releasing
---------
Build and check with lts-2.22. (Normal lts-3.11)
Database architecture
---------------------
recipes: IxSet Recipe (including ingredients, servings and size (WxH or disc(D)))
products: IxSet Product {
general name,
provides ingredient,
price observations [(shop, price)] }
Should we need to store the recipe set in the db context - otherwise won't it
be loaded afresh every time?
Interface
---------
Goals
~~~~~
Input data from a receipt with minimal effort
y Filter by category
y Sort by rating and perhaps other fields
Show/sort by entry time/seq
Approach
~~~~~~~~
Allow scaling ingredients by an arbitrary factor as well as relative to serves or size
TODO
----
= Replace ID with type that allows dates too
= Allow creation of new categories
= e.g. http://www.tutorialrepublic.com/twitter-bootstrap-tutorial/bootstrap-typeahead.php
= Suggest book names similarly
- Release
= Prevent leaving unsaved form
= Database backup and archive
Auto-backup
Allow sorting by generic sequence
New typeahead suggestions aren't fetched
Split Recipes.hs into Recipes and RecipeEditor
Rename multi-text-double because it now has an extra text field
Drop-down for source selection (including null), only show required fields
Show the sequence val somewhere
Show and allow editing of general properties
Prices from supermarkets
Scaling of recipes - need to save quantity with recipe (serves / round tin / square tin / arbitrary unit --> easier to allow all rather than forcing only one, but then need to scale relative to a specific measure, could build this into the system by giving link to scaling next to the quantity).
a) Intermediate step where we choose relative scaling, including previously used values, pass scaling in url - allows persistent links
b) Choose scaling live, need live updates of values (basically just program it all in js)
2.22 deps
# stack.yaml, check resolver
stack list-dependencies | tr ' ' - | xargs echo
remove 'food-' deps
ReadArgs-1.2.2 StateVar-1.1.0.1 acid-state-0.13.1 adjunctions-4.2.1 aeson-0.8.0.2 ansi-terminal-0.6.2.1 ansi-wl-pprint-0.6.7.2 appar-0.1.4 array-0.5.0.0 asn1-encoding-0.9.0 asn1-parse-0.9.1 asn1-types-0.3.0 async-2.0.2 attoparsec-0.12.1.6 authenticate-1.3.2.11 auto-update-0.1.2.2 base-4.7.0.2 base16-bytestring-0.1.1.6 base64-bytestring-1.0.0.1 basic-prelude-0.3.13 bifunctors-4.2.1 binary-0.7.1.0 blaze-builder-0.4.0.1 blaze-html-0.8.1.0 blaze-markup-0.7.0.2 byteable-0.1.1 byteorder-1.0.4 bytestring-0.10.4.0 bytestring-builder-0.10.6.0.0 case-insensitive-1.2.0.4 cereal-0.4.1.1 chunked-data-0.1.0.1 cipher-aes-0.2.11 cipher-des-0.0.6 cipher-rc4-0.1.4 classy-prelude-0.11.1.1 classy-prelude-conduit-0.11.1 classy-prelude-yesod-0.11.1 clientsession-0.9.1.1 comonad-4.2.7.2 conduit-1.2.5 conduit-combinators-0.3.1 conduit-extra-1.1.9.1 connection-0.2.4 containers-0.5.5.1 contravariant-1.3.2 cookie-0.4.1.6 cprng-aes-0.6.1 crypto-api-0.13.2 crypto-cipher-types-0.0.9 crypto-numbers-0.2.7 crypto-pubkey-0.2.8 crypto-pubkey-types-0.4.3 crypto-random-0.0.9 cryptohash-0.11.6 cryptohash-conduit-0.1.1 css-text-0.1.2.1 data-default-0.5.3 data-default-class-0.0.1 data-default-instances-base-0.0.1 data-default-instances-containers-0.0.1 data-default-instances-dlist-0.0.1 data-default-instances-old-locale-0.0.1 deepseq-1.3.0.2 directory-1.2.1.0 distributive-0.4.4 dlist-0.7.1.1 dlist-instances-0.1 easy-file-0.2.1 email-validate-2.0.1 enclosed-exceptions-1.0.1.1 entropy-0.3.7 exceptions-0.8.0.2 extensible-exceptions-0.1.1.4 fast-logger-2.3.1 file-embed-0.0.8.2 filepath-1.3.0.2 free-4.11 ghc-prim-0.3.1.0 hashable-1.2.3.3 hjsmin-0.1.5.0 hourglass-0.2.9 http-client-0.4.18.1 http-client-tls-0.2.2 http-conduit-2.1.7.2 http-date-0.0.6.1 http-types-0.8.6 integer-gmp-0.5.1.0 iproute-1.3.2 ixset-1.0.6 kan-extensions-4.2.2 keys-3.10.2 language-javascript-0.5.14.2 lifted-base-0.2.3.6 memory-0.7 mime-mail-0.4.9 mime-types-0.1.0.6 mmorph-1.0.4 monad-control-1.0.0.4 monad-logger-0.3.13.2 monad-loops-0.4.3 mono-traversable-0.9.2.1 mtl-2.1.3.1 mutable-containers-0.3.0 mwc-random-0.13.3.2 nats-1 network-2.6.2.1 network-uri-2.6.0.3 nonce-1.0.2 old-locale-1.0.0.6 old-time-1.1.0.2 optparse-applicative-0.11.0.2 parsec-3.1.9 path-pieces-0.2.0 pem-0.2.2 persistent-2.1.6 persistent-template-2.1.3.4 pointed-4.2.0.2 prelude-extras-0.4 primitive-0.6 process-1.2.0.0 profunctors-4.4.1 random-1.1 resource-pool-0.2.3.2 resourcet-1.1.6 safe-0.3.9 safecopy-0.8.5 scientific-0.3.3.8 securemem-0.1.9 semigroupoids-4.3 semigroups-0.16.2.2 setenv-0.1.1.3 shakespeare-2.0.5 silently-1.2.5 simple-sendfile-0.2.21 skein-1.0.9.3 socks-0.5.4 stm-2.4.4 stm-chans-3.0.0.4 streaming-commons-0.1.12.1 stringsearch-0.3.6.6 syb-0.4.4 syb-with-class-0.6.1.6 system-fileio-0.3.16.3 system-filepath-0.4.13.4 tagged-0.7.3 tagsoup-0.13.3 tagstream-conduit-0.5.5.3 template-haskell-2.9.0.0 text-1.2.0.6 time-1.4.2 time-locale-compat-0.1.0.1 tls-1.2.18 transformers-0.3.0.0 transformers-base-0.4.4 transformers-compat-0.4.0.3 unix-2.7.0.1 unix-compat-0.4.1.4 unix-time-0.3.5 unordered-containers-0.2.5.1 utf8-string-1 vault-0.3.0.4 vector-0.10.12.3 vector-algorithms-0.6.0.4 vector-instances-3.3.0.1 void-0.7 wai-3.0.3.0 wai-app-static-3.0.1.1 wai-extra-3.0.10 wai-logger-2.2.4.1 warp-3.0.13.1 word8-0.1.2 x509-1.5.1 x509-store-1.5.0 x509-system-1.5.0 x509-validation-1.5.2 xml-conduit-1.2.6 xml-types-0.3.6 xss-sanitize-0.3.5.6 yaml-0.8.12 yesod-1.4.1.5 yesod-auth-1.4.6 yesod-core-1.4.12 yesod-form-1.4.4.1 yesod-newsfeed-1.4.0.1 yesod-persistent-1.4.0.3 yesod-static-1.4.0.4 zlib-0.5.4.2