Krecipes: Difference between revisions

From KDE UserBase Wiki
No edit summary
No edit summary
 
(10 intermediate revisions by 4 users not shown)
Line 10: Line 10:


<!--T:9-->
<!--T:9-->
The goal of this projects '''was''' (note that we're talking about 2003) to create a KDE Recipe Tool that:
The goal of this project was creating a KDE Recipe Tool that:


<!--T:10-->
<!--T:10-->
Line 25: Line 25:


<!--T:14-->
<!--T:14-->
* Is based on MySQL (1) so it could be possible to generate a KSN(2)
* Based on SQL, supporting various database types (currently it supports SQLite, MySQL and PostgreSQL).


<!--T:15-->
<!--T:15-->
* Should be as flexible as possible to have the possibility to extend it in future.
* Should be as flexible as possible to have the possibility to extend it in future.
<!--T:16-->
Now those goals have been pushed even further, so we have support for other databases like SQLite and PostgreSQL and it includes many other new features. The KSN stuff is still not available, but not too far away. Just wait {{Smiley}}
<!--T:17-->
1. The project has initially started with MySQL, but QSQL provides sufficient flexibility to hopefully port this project for other databases.
<!--T:18-->
2. KSN: Krecipe Servers Network {{Smiley}}


==Main features== <!--T:3-->
==Main features== <!--T:3-->
Line 48: Line 39:


<!--T:20-->
<!--T:20-->
* Recipes can be searched by name or by ingredients included or to be omitted. Simply type in the a part of a recipe name and all those recipes are instantly available to view, edit, or print. If you'd like to fine-tune your search, the advanced search also allows you to search by title as well as any combination of categories, ingredients, preparation time, authors, servings, or instruction text.
* Recipes can be searched by name or by ingredients included or to be omitted. Simply type in a part of a recipe name and all those recipes are instantly available to view, edit, or print. If you'd like to fine-tune your search, the advanced search also allows you to search by title as well as any combination of categories, ingredients, preparation time, authors, servings, or instruction text.


<!--T:21-->
<!--T:21-->
Line 79: Line 70:


<!--T:30-->
<!--T:30-->
* Files can be imported from an existing '''Krecipes database'''
* Files can be imported from an existing '''Krecipes''' database


<!--T:31-->
<!--T:31-->
Line 91: Line 82:


<!--T:34-->
<!--T:34-->
* Add recipes to your '''shopping list'''. When you are done, Krecipes will list all the ingredients necessary, combining units for you automatically, and give you a list ready to print.
* Add recipes to your ''shopping list''. When you are done, '''Krecipes''' will list all the ingredients necessary, combining units for you automatically, and give you a list ready to print.


<!--T:35-->
<!--T:35-->
Line 101: Line 92:


<!--T:37-->
<!--T:37-->
* You can search for recipes based on what you have in your store cupboard. Plan out your meals for a day, a few days, or even weeks. Give Krecipes information on what you'd like each of your meals to contain, limit the amount of particular nutrient property (fat, energy, etc.), and Krecipes will do the rest.
* You can search for recipes based on what you have in your store cupboard. Plan out your meals for a day, a few days, or even weeks. Give '''Krecipes''' information on what you'd like each of your meals to contain, limit the amount of particular nutrient property (fat, energy, etc.), and '''Krecipes''' will do the rest.


<!--T:38-->
<!--T:38-->
Line 119: Line 110:


<!--T:43-->
<!--T:43-->
Krecipes takes full advantage of the power of relational databases. Categories, ingredients, units, etc. are stored as separate identities which are linked to recipes when used. You can rename one of these in one place, and all recipes using that element are automatically updated.
'''Krecipes''' takes full advantage of the power of relational databases. Categories, ingredients, units, etc. are stored as separate identities which are linked to recipes when used. You can rename one of these in one place, and all recipes using that element are automatically updated.


<!--T:44-->
<!--T:44-->
Line 136: Line 127:


<!--T:47-->
<!--T:47-->
Unless specified elsewhere, you can send any contributions to the Krecipes maintainer, J.M. Santamaría.
Unless specified elsewhere, you should send contributions to the '''Krecipes''' group in [http://reviewboard.kde.org/ KDE Review Board]


<!--T:88-->
'''Reporting bugs'''
'''Reporting bugs'''


Line 147: Line 139:


<!--T:50-->
<!--T:50-->
* If you want to translate krecipes you should work inside your local KDE translation team. If you are keen you may want to lurk [http://kde.org/getinvolved/translation/ here]. Check the [http://l10n.kde.org/stats/gui/trunk-kde4/po/krecipes.po/ current state of Krecipe's translations for your language] and, if you feel brave, ask to join a translation team :)
* If you want to translate '''Krecipes''' you should work inside your local KDE translation team. If you are keen you may want to lurk [http://kde.org/getinvolved/translation/ here]. Check the [http://l10n.kde.org/stats/gui/trunk-kde4/po/krecipes.po/ current state of Krecipe's translations for your language] and, if you feel brave, ask to join a translation team {{Smiley}}


<!--T:51-->
<!--T:51-->
* User interface: We could always use help translating into as many languages as possible. Note that the current 2.0 branch is '''not''' on string freeze, however some translation teams are working in krecipes anyway, so feel free to join your local translation team and work.
* User interface: We could always use help translating into as many languages as possible. Note that the current 2.0 branch is ''not'' on string freeze, however some translation teams are working in '''Krecipes''' anyway, so feel free to join your local translation team and work.


<!--T:52-->
<!--T:52-->
Line 162: Line 154:


<!--T:55-->
<!--T:55-->
Give us your feedback in the Krecipes Forums or in #krecipes IRC channel at FreeNode.
Give us your feedback in the [https://forum.kde.org/viewforum.php?f=22 Forums] or in #krecipes IRC channel at Libera Chat.
 
==ChangeLog== <!--T:56-->
 
<!--T:57-->
For access to the ChangeLog with the latest updates available only in SVN, go to [http://websvn.kde.org/trunk/extragear/utils/krecipes/ChangeLog?view=markup this ChangeLog].


==Handbook== <!--T:58-->
==Handbook== <!--T:58-->


<!--T:59-->
<!--T:59-->
The handbook is being updated for the KDE 4 port of Krecipes and unfortunately it's not finished yet, you can check it [http://docs.kde.org/development/en/extragear-utils/krecipes here].
The handbook is being updated for the KDE 4 port of '''Krecipes''' and unfortunately it's not finished yet, you can check it [http://docs.kde.org/development/en/extragear-utils/krecipes here].


==Download== <!--T:60-->
==Download== <!--T:60-->
Line 183: Line 170:


<!--T:63-->
<!--T:63-->
Building The Latest Release
'''Building The Latest Release'''<br />
Just untar the package first:
Just untar the package first:


Line 217: Line 204:


<!--T:73-->
<!--T:73-->
To build and install it in the default prefix (usually /usr/local):
To build and install it in the default prefix (usually <tt>/usr/local</tt>):


<!--T:74-->
<!--T:74-->
Line 226: Line 213:


<!--T:75-->
<!--T:75-->
To build and install it in other prefix, for instance ~/.kde/:
To build and install it in other prefix, for instance <tt>~/.kde/</tt>:


<!--T:76-->
<!--T:76-->
Line 235: Line 222:


<!--T:77-->
<!--T:77-->
Also if you install it in ~/.kde/ you may want to set the following variables
Also if you install it in <tt>~/.kde/</tt> you may want to set the following variables
in your .bashrc (or wherever it's appropiate for you):
in your <tt>.bashrc</tt> (or wherever it's appropiate for you):


<!--T:78-->
<!--T:78-->
Line 255: Line 242:
<!--T:82-->
<!--T:82-->
* [https://mail.kde.org/mailman/listinfo/krecipes-devel Krecipes devel mailing list]
* [https://mail.kde.org/mailman/listinfo/krecipes-devel Krecipes devel mailing list]
* Krecipes IRC channel; named #krecipes, located at FreeNode
* '''Krecipes''' IRC channel; named #krecipes, located at Libera Chat


==Authors== <!--T:83-->
==Authors== <!--T:83-->

Latest revision as of 15:36, 6 October 2022

Other languages:
Krecipes is a program that lets you to manage your recipes, create shopping lists, choose a recipe based on available ingredients and plan your menu/diet in advance.
The main KRecipes screen

Overview

The goal of this project was creating a KDE Recipe Tool that:

  • Can manage a recipe database with an easy to use interface
  • Allows creation/removal of new ingredients and units
  • Helps with diets, calculating amount of calories, vitamines, carbohydrates... per recipe
  • Creates shopping lists, and daily suggestions for a given diet type
  • Based on SQL, supporting various database types (currently it supports SQLite, MySQL and PostgreSQL).
  • Should be as flexible as possible to have the possibility to extend it in future.

Main features

Recipes Search

  • Creates a recipe database, using SQLite, MySQL or PostgreSQL, using a comfortable interface
  • Recipes can be searched by name or by ingredients included or to be omitted. Simply type in a part of a recipe name and all those recipes are instantly available to view, edit, or print. If you'd like to fine-tune your search, the advanced search also allows you to search by title as well as any combination of categories, ingredients, preparation time, authors, servings, or instruction text.
The Advanced Search Screen


  • It's also possible to search on source, yield, preparation time, and several other criteria
  • Recipes are entered an edited on a similar screen. Entry is speeded by the use of drop-down menus using text prediction


Edit Recipes

Using the three input tabs, you will fill in the details of your recipes. On the first tab is the title, authors, categories, preparation time, and yield. On the next you may input ingredients, and on the last is the instructions.

Editing a Recipe
  • Ingredients and instructions can be pasted in if a text file already exists
  • Recipes can be printed for inclusion in scrapbooks, etc.
The Print Preview


  • Files can be imported from an existing Krecipes database
  • As well as from "MasterCook" 4, 5 or 6, "Meal-Master", "RecipeML", "Rezconf" or “Now You're Cooking”
  • It is also possible to export to many formats
  • Backup and Restore of database is fully supported.
  • Add recipes to your shopping list. When you are done, Krecipes will list all the ingredients necessary, combining units for you automatically, and give you a list ready to print.
  • Nutrient values can be used to help you plan any diet


Diet Helper

  • You can search for recipes based on what you have in your store cupboard. Plan out your meals for a day, a few days, or even weeks. Give Krecipes information on what you'd like each of your meals to contain, limit the amount of particular nutrient property (fat, energy, etc.), and Krecipes will do the rest.
The Diet Helper
Selecting by Ingredients
  • Conversion tables help you move between Americal measure and metric
The Conversion Screen


Advanced Database Management

Krecipes takes full advantage of the power of relational databases. Categories, ingredients, units, etc. are stored as separate identities which are linked to recipes when used. You can rename one of these in one place, and all recipes using that element are automatically updated.

When importing recipes from an external source, you may find many misspellings and strange capitalization. Simply rename these elements in the "Data" panel to correct all your recipes. For example, you may have the categories "Vegtables" and "Vegatables". Rename "Vegtables" to "Vegatables" and the merge feature will put all the recipes under these two categories into the right category.

This is only a very sketchy overview. There are many more features to be explored in the Handbook. The Project Page has links to Help and Discussion forums

Contribute

Coding

We welcome anyone with knowledge of C++ to contribute code, but even if you're not a programmer, here's some other ways you can help, see below

Unless specified elsewhere, you should send contributions to the Krecipes group in KDE Review Board

Reporting bugs

You can use the KDE Bug Tracking System to report bugs.

Translating

  • User interface: We could always use help translating into as many languages as possible. Note that the current 2.0 branch is not on string freeze, however some translation teams are working in Krecipes anyway, so feel free to join your local translation team and work.
  • Handbook: Currently the handbook in english is very outdated, please wait for instructions.
  • Sample recipes: We are figuring out a technical solution and proper workflow to do this, please wait for instructions.

Giving Feedback

Give us your feedback in the Forums or in #krecipes IRC channel at Libera Chat.

Handbook

The handbook is being updated for the KDE 4 port of Krecipes and unfortunately it's not finished yet, you can check it here.

Download

Downloading And Compiling The Latest (2.0-beta2) Release

You can download the latest release or see other releases in the "files" section of the sourceforge page. You can see main changes in this version in the ChangeLog page.

Building The Latest Release
Just untar the package first:

tar -zxf krecipes-[VERSION_NUMBER].tar.gz

And compile

cmake .
make
make install

Downloading, Building And Installing The Latest Development Version With Git

The project is being developed under extragear/utils in KDE's servers.

To download the source code, do:

git clone git://anongit.kde.org/krecipes

To update the source code, do:

cd krecipes
git pull

To build and install it in the default prefix (usually /usr/local):

mkdir build && cd build
cmake ..
make
make install

To build and install it in other prefix, for instance ~/.kde/:

mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=~/.kde/
make
make install

Also if you install it in ~/.kde/ you may want to set the following variables in your .bashrc (or wherever it's appropiate for you):

export PATH=~/.kde/bin:${PATH}
export MANPATH=~/.kde/man:$(manpath)
export KDEDIRS=~/.kde:/usr
export XDG_DATA_DIRS=~/.kde/share:${XDG_DATA_DIRS}
export LD_LIBRARY_PATH=~/.kde/lib

To uninstall it:

cd build && make uninstall

Contact

Authors

The Old Krecipes Crew

  • Jason Kivlighn
  • Unai Garro
  • Cyril Bosselut
  • Colleen Beamer (who wrote the handbook)


People who worked actively in the KDE 4 port but who are not working in the project at the moment

  • Daniel Sauvé
  • Laurent Montel


The current developers

  • José Manuel Santamaría Lema
  • Martin Engelmann