Fix config file location, added UserManual

This commit is contained in:
Tim Holloway 2022-01-18 12:13:40 -05:00
parent fa7e832996
commit 6f0b83aaab
2 changed files with 83 additions and 0 deletions

76
UserManual.md Normal file
View File

@ -0,0 +1,76 @@
# User Guide for GourmetJ application
The GourmetJ application is a self-container web application
and server program. To use it all that is required is an installed
Java system (Java 11 or greater), a copy of the web application
JAR file, a basic ``recipes.db`` file in your home directory
and a ``.gourmetpw`` password file in the directory that you
run the application from.
## Basic concepts
The heart of the system is the recipe database. You can enter
recipes in manually or copy-and-paste them from outside sources
such as web pages. You can even copy a list of ingredients as
a unit and paste them into the Ingredients Editor!
Once you have a collection of recipes, you can search based on
name, cuisine type, category or ingredient. You can mark selected
recipes and cause their ingredients to be placed on a shopping
list which you can then export and print or feed to other applications.
## Security
This is a web application and while you can run it on your deskop,
it can also be hosted on the Internet. To ensure that people can't
mess up your data, the pages than can alter the database are
password-protected. Add userid/password lines to the ``.gourmetpw``
file to allow login.
## Ingredient Keys
An important part of the system is the "Ingredient Key".
Recipes come from many sources and the ingredient list can vary
wildly. One recipe may call for "Onions, diced", another for
"Diced Onions", another for "Finely Minced Onions", and one for
"Cebollas Cortados". To match all of these up to make a shopping
list would require a lot more power and complexity than a simple
app can provide, so we use the "Ingredient Key" to serve as a
universal identifier. For example, for the preceeding, the ingredient
key might be simply "Onions". Or, if you like to buy them pre-diced,
"Diced Onions"
## Shopping Lists
When you have recipes selected, the "More..." button on the main
page will bring you to a multi-tabbed page starting with the
list of selected recipes and Shopping List. Each recipe has a
counter control - if you like Macaroni and Cheese 5 times a week,
you can spin the counter up to 5 and the shopping list will adjust
quantities to allow for the extra ingredient amounts. Spin it
down to 0 to omit the recipe from the list.
The shopping list organizes by Shopping Category. You associate
a Shopping Category with an Ingredient Key by using the "E" (Edit)
button on the recipe. Shopping categories can be used to optimise
your shopping expeditions by placing related ingredient types in
a group. For example the Ingredient Keys "Onions", "Celery", "Lettuce"
might all be under the Shopping Category "Produce". "Oregano" and
"Thyme" might be under "Herbs and Spices".
## Pantry
Often, you'll already have some of the ingredient in your pantry.
Like salt. or maybe cans of green beans. You can Mark Ingredient
keys on your shopping list with the "Pantry" marker and they will
not appear on your exported shopping list. Note that Pantry does
not allow for how much is in the pantry, so it's always a good
idea to check before marking stuff off.
### Maintenance
Very little maintenance is required. You can back up the recipe
database by just making a copy of the ``recipes.db`` file.
You can add and remove user IDs and passwords by editing
the ``.gourmetpw`` file. A restart of the application will
be required for this.

View File

@ -1,3 +1,7 @@
#
# Application YML is used in production. /application.properties
# is used in test.
#
spring:
datasource:
url: jdbc:sqlite:${home}/recipes.db
@ -6,3 +10,6 @@ spring:
ddl-auto: none
database-platform: org.sqlite.hibernate.dialect.SQLiteDialect
gourmet:
password:
file: .gourmetpw