diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index db6afa6..e6440fe 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -13,13 +13,26 @@ "state": { "type": "markdown", "state": { - "file": "Welcome.md", + "file": "Objectives.md", + "mode": "source", + "source": false + } + } + }, + { + "id": "1f76c9bf5f9ff11f", + "type": "leaf", + "state": { + "type": "markdown", + "state": { + "file": "Datastore.md", "mode": "source", "source": false } } } - ] + ], + "currentTab": 1 } ], "direction": "vertical" @@ -85,7 +98,7 @@ "state": { "type": "backlink", "state": { - "file": "Welcome.md", + "file": "Datastore.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -102,7 +115,7 @@ "state": { "type": "outgoing-link", "state": { - "file": "Welcome.md", + "file": "Datastore.md", "linksCollapsed": false, "unlinkedCollapsed": true } @@ -125,7 +138,7 @@ "state": { "type": "outline", "state": { - "file": "Welcome.md" + "file": "Datastore.md" } } } @@ -146,12 +159,14 @@ "audio-recorder:Start/stop recording": false } }, - "active": "794a527115cb7ab9", + "active": "1f76c9bf5f9ff11f", "lastOpenFiles": [ + "Receipt Scanning.md", + "Datastore.md", "Objectives.md", + "Datastore", + "Welcome.md", "2024-04-24.md", - "Receipt Scanning/Process.md", - "Receipt Scanning", - "Welcome.md" + "Receipt Scanning" ] } \ No newline at end of file diff --git a/Datastore.md b/Datastore.md new file mode 100644 index 0000000..5b0072f --- /dev/null +++ b/Datastore.md @@ -0,0 +1,10 @@ +# What to use? +Currently (4/24/24) thinking of using primarily NoSQL based storage. +* Not much of this seems to be relational data +* Not as familiar, so good learning opportunity +* Also, I _think_ SQL is more expensive to run in GCP +* Granted, the actual inventory portion could be relational + +# What to store? +* Should receipt images be retained? doing so would let us train a data model on them later +* Is a separate document needed to store what line item associations are made? or are we willing to accept adding data to the stored Document AI response? \ No newline at end of file diff --git a/Receipt Scanning.md b/Receipt Scanning.md new file mode 100644 index 0000000..efaa5a0 --- /dev/null +++ b/Receipt Scanning.md @@ -0,0 +1,15 @@ +# OCR +1. User takes a picture of the receipt +2. Receipt image is uploaded + 1. Document AI can do direct (online) or batch ("offline") processing + 2. Need to see how we want to handle it, but it could upload to API and have API talk to Document AI, or have app talk to Document AI. Leaning toward the former. +3. Image is processed, results stored in [datastore](Datastore.md) + 1. Probably should attempt to scrub payment info from the data + +# Line item categorization +Have had several thoughts on this. Initial thought was to have a category/inventory item with a list of assigned aliases, but this feels like it could become unwieldy. Next thought was to maintain a list of inventory items, then when processing the receipt run a fuzzy search against the list to see what comes back. +A list could (and probably should) still be maintained, but it would be a fallback if fuzzy search returns nothing (albeit more expensive, since it'd have to check every list) +Maybe relax the fuzzy search to narrow which fields to scan the lists of? + +# Unaddressed items +* How to handle voided items? \ No newline at end of file diff --git a/Receipt Scanning/Process.md b/Receipt Scanning/Process.md deleted file mode 100644 index 5287a16..0000000 --- a/Receipt Scanning/Process.md +++ /dev/null @@ -1,6 +0,0 @@ -# OCR -1. User takes a picture of the receipt -2. Receipt image is uploaded - 1. Document AI can do direct (online) or batch ("offline") processing - 2. Need to see how we want to handle it, but it could upload to API and have API talk to Document AI, or have app talk to Document AI. Leaning toward the former. -3. Image is processed \ No newline at end of file diff --git a/Welcome.md b/Welcome.md deleted file mode 100644 index f9bca28..0000000 --- a/Welcome.md +++ /dev/null @@ -1,5 +0,0 @@ -This is your new *vault*. - -Make a note of something, [[create a link]], or try [the Importer](https://help.obsidian.md/Plugins/Importer)! - -When you're ready, delete this note and make the vault your own. \ No newline at end of file