phpMyRecipes Web-Based Recipe Database version 1.2.0 phpMyRecipes is a simple application for storing and retrieving recipes. It uses a web-based interface, for ease of use across any system, and a MySQL database backend for storing the recipes. In addition, fine-grained security is implemented so that the recipes can be searched and viewed by anyone, but all functions that make changes (adding/editing/deleting) require additional privileges to be granted by the administrator. Privileges for adding things can be granted separate from privileges for deleting things. The administrator can also decide whether or not units or categories are modifiable, on a per-user basis. Recipes are categorized, and new categories are easy to create. Ingredients are added to the database on-the-fly, as they are used in recipes. Unit types (such as "cup" or "teaspoon") are stored in the database as well, and can be easily added to or modified. Unit "plurals" are also handled correctly when viewing recipes (using "cups" instead of "cup" in the right places). A robust search feature is included that allows users to search the recipes based on a wide range of criteria, including words found (or not found) in the instructions, the recipe name, category, and ingredients list. ------------------------------------------------------------------------------- HISTORY phpMyRecipes grew out of my frustration with the lack of decent recipe database software available. After a proprietary, Windows-based piece of software ate my wife's recipes twice, I started looking for an open source alternative that would be useable from any of our computers. I tried a couple web-based solutions, but everything I found was either poorly documented, not in English, or badly written. I took one and tried to rewrite the problem sections, but rewriting someone else's code is always a problem. So I just wrote my own. My requirements were: * The interface had to be simple. Not a lot of graphics, and easy to understand. My wife needs to be able to use it, and she is not a very technical person. * All the categories and unit types should be easily modifiable. * There must be security, to prevent outsiders from changing things. * The web pages should have a template, so the look is easily changed * All data should be stored in an open and common format, enabling backups. ------------------------------------------------------------------------------- LICENSE phpMyRecipes is GPL'd software. Take a look at the COPYING file for the full GPL version 2 license. In the simplest terms, it means that this software is free for anyone to use or modify. But any changes or derivative works have to be licensed under the GPL if they are released in any way. ------------------------------------------------------------------------------- REQUIREMENTS: phpMyRecipes can be run on any webserver that supports PHP 4 or later. A MySQL database is required (version 3.23.44 or later) as well, but it does not have to reside on the same server as the webserver. Clients using the web interface can be using any web browser that supports JavaScript. JavaScript is used only on the add and edit recipe pages. In addition, a small amount of CSS is used for formatting (what is used works in both Mozilla and Internet Explorer without a problem). Cookies are preferred for session tracking, but they are not required and phpMyRecipes will work correctly without them. ------------------------------------------------------------------------------- INSTALLATION: See the INSTALL.txt file for details, or the UPGRADE.txt file if you're replacing an existing installation. Oh, and once you've got it installed, send me an email at phpmyrecipes@bonkoif.com and let me know that you're using it! Of course, you don't have to, but I'd like to know. ------------------------------------------------------------------------------- USAGE: Using the phpMyRecipes software is supposed to be fairly intuitive. When you first access the site, you are not logged in. You can browse and search recipes, as well as view the lists of categories, ingredients, and units. But you can't change anything. Once you login, your access level is determined by the privileges you have been granted. By default, accounts have no privileges, and act exactly as if you hadn't logged in at all. The only difference is that you have a "Profile" option, which allows you to edit your profile information and change your password. During the installation process, a single account was created with user management privileges. This account can see and use the "Users" button to edit any account. By editing an account, you can add privileges. All of the privilege selections are easy to understand. At this point, it might be a good idea to create an account that has all privileges (except "Manage Users", which should be isolated to a single account that doesn't do anything else). When logged in to an account that has privileges, you can now see the "Add Recipe" button, as well as see Edit and Delete links for things. If you go to the "Add Recipe" page, you will get a form to enter in a recipe. There are a few things you should know about here: * All recipes must have a name, and the name must be discrete. This means that you can't have two recipes named the same thing. * Recipes are categorized. If you don't see a category you like in the selection box, go to the "Categories" page and create what you want. * Serving sizes are not very important in this release, but they will be later. Try and enter them correctly. * Ingredients are entered by entering in a quantity (like "1", or "1/2"), selecting a unit (like "cup"), and either selecting an ingredient from the selection list or entering it into the text box. If you enter an ingredient in the text box, it will appear in the selection box in the future. * Try to use the ingredients from the selection box where you can. This will make it easier if we add features later like being able to generate a shopping list. * All instructions for the recipe are entered into a free-form text entry area. If you wanted to put a line of keywords in here, to help with searching, you could do that too. Just about everything else in phpMyRecipes should be intuitive. If it's not, and you're having a problem, send me a note at the contact info below. I'll help as much as I can, and make the documentation better for the next time around. ------------------------------------------------------------------------------- VERSION HISTORY: v1.2.0 * Added categories to the search page * Separated out the misc functions from the config and look/feel * Added a printable version of recipes * Added the ability to email recipes (with a privilege for it) * Added uploaded recipe images v1.0.2 * Just a few bugfixes from the initial release v1.00 * The very first release ------------------------------------------------------------------------------- CONTACT INFORMATION: phpMyRecipes is a hobby project for me. So if you need help using it, you can send me an email and I will try to help you in my free time. In addition, if you have any suggestions, bug fixes, or modifications, I would appreciate it if you would send them to me so that I can take a look and include them in the next version if they are good. -Todd Palino phpmyrecipes@bonkoif.com ------------------------------------------------------------------------------- Copyright 2006 Todd Palino This file is part of phpMyRecipes. See the COPYING file for the license.