This page contains the requirements, I specified for the 1.0 version of this application. This requirements are only met by the software version 1.0 (and all later versions). The requirements may be subject to change.
General features:
- AnyMeal is able to import Mealmaster recipes (ingredient can be specified in two-columns as well) and store them in the database. Erroneous recipes can be exported to Mealmaster files to allow fast import without extensive user-interaction. The Mealmaster file containing the erroneous recipes also contains the error-messages.
- The user can select a single recipe for being displayed.
- The user can select a bunch of recipes to be exported in Mealmaster, docbook or HTML.
- A database wizard helps the user to setup MySQL.
- The recipes are searchable using the following criteria: title, category, ingredients, user selection. The search results are sorted by title.
- A single recipe can be selected for editing. The changes can be transferred to the database or be discarded.
AnyMeal is a database client software. It is able to retrieve and store recipes in a database (and delete them).
- The application accesses a MySQL-database. The design must allow AnyMeal to easily be extended to connect to another type of database (with another SQL dialect). The database resides in a LAN-network, so that security-issues don't need to be considered.
- AnyMeal upgrades the database created by an old client if required.
- The passwords for connecting to the databases are stored safely.
The following features are wishes, which are not implemented at the moment:
- The user-interface allows collapsing of categories and ingredients (f.e. merge "Indian Desserts" into "desserts" and "indian").
- Internationalisation of xsl-script
- Port to Qt4
- Display statistics after import.
- Import/export for RecipeML
- Printing of recipes. Printing of a menu (small list of recipes).
- A context help including recipe-sources, FAQ, ...
- Backend for ODBC, SQLite, Metakit and Postgresql.
- Progressbar for sql-queries. More responsieness. User-break at any time.
- Maintaining a list of available ingredients and using it for creating shopping lists.
- Shopping list, which can be completed and refined (access price-list of shops, compute total) and printed, assignment of shopping task.
- Scaling of recipes: Allow scaling of amount for display.
- Conversion of quantity in editor, when unit is changed. Conversion of all ingredient-quantities, when yield is changed.
- Convert titles to lower case
- Alternatively list by categories or by title.
- Assemble a meal (starters, main dish, dessert, ...) and meal-planner (using a calendar). Also see: ffts.com.
- Spell-check for recipes.
- Interactive combo-box for ingredient-selection in search-dialog. Automatic completion for dialog-boxes, listviews.
- Import of other formats (Rezkonv, CookML (cml), mastercook, krecipes, mango )!?
- Filter and store duplicate recipes during import or later.
- speech-output
- Dialog for maintaining categories, units, ingredients (merge, delete, rename).
- Full-text search
- Test multi-user environment.
- Allow categorisation on import.
- Import recipes from Internet (by downloading and importing file)
- Compute nutrition of ingredients using free USDA nutrition database Add a constraint solver.
- Use KDE I/O-handlers for access to arbitrary sources.
- Web-server
- Move recipes from one database to another
- Support drag and drop.
- SOAP components with examples for seamless integration in Apache-Webservers
- Additional fields: Preparation time, authors, source, e-mail, address, date, notes, ingredient-ranges, cuisine (ethnicity), photo(s), recipe approval system, rating system, locations/restaurants (+rating), course, season, type, preparation method, source, required equipment
- Use USDA nutrition database (problem: matching of ingredient-names)
- Use UPC database (http://www.upcdatabase.com/) for inventory recording, RFID?
- Braille-interface? See http://mielke.cc/brltty/, http://libbraille.org/, http://accessibility.kde.org/developer/
- Stable program under MS-Windows. Problems are: right now Xalan-C crashes, when doing xpath-searches; Qt-Windows-3.x is not available for free.