Krecipes: Difference between revisions

From KDE UserBase Wiki
No edit summary
No edit summary
 
(18 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages />
<languages />
<translate>
<!--T:7-->
{|class="tablecenter vertical-centered"
{|class="tablecenter vertical-centered"
|[[Image:krecipes.png|left]]||'''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.'''||[[Image:Krecipes-main.png|thumb|350px|''The main KRecipes screen'']]
|[[Image:krecipes.png|left]]||'''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.'''||[[Image:Krecipes-main.png|thumb|350px|''The main KRecipes screen'']]
|}
|}


== Overview == <!--T:8-->


== Overview ==
<!--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-->
* Can manage a recipe database with an easy to use interface
* Can manage a recipe database with an easy to use interface
<!--T:11-->
* Allows creation/removal of new ingredients and units
* Allows creation/removal of new ingredients and units
<!--T:12-->
* Helps with diets, calculating amount of calories, vitamines, carbohydrates... per recipe
* Helps with diets, calculating amount of calories, vitamines, carbohydrates... per recipe
<!--T:13-->
* Creates shopping lists, and daily suggestions for a given diet type
* Creates shopping lists, and daily suggestions for a given diet type
* Is based on MySQL (1) so it could be possible to generate a KSN(2)
* Should be as flexible as possible to have the possibility to extend it in future.


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 :)
<!--T:14-->
* Based on SQL, supporting various database types (currently it supports SQLite, MySQL and PostgreSQL).


1. The project has initially started with MySQL, but QSQL provides sufficient flexibility to hopefully port this project for other databases.
<!--T:15-->
 
* Should be as flexible as possible to have the possibility to extend it in future.
2. KSN: Krecipe Servers Network ;-)


==Main features== <!--T:3-->
==Main features== <!--T:3-->
Line 25: Line 34:
<!--T:4-->
<!--T:4-->
''' Recipes Search '''
''' Recipes Search '''
<!--T:19-->
* Creates a recipe database, using SQLite, MySQL or PostgreSQL, using a comfortable interface
* 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 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.
 
<br />
<!--T:20-->
* 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-->
[[Image:Krecipes-adv-srch-multi.png|thumb|350px|center|''The Advanced Search Screen'']]<br />
[[Image:Krecipes-adv-srch-multi.png|thumb|350px|center|''The Advanced Search Screen'']]<br />
<!--T:22-->
* It's also possible to search on source, yield, preparation time, and several other criteria
* It's also possible to search on source, yield, preparation time, and several other criteria
<!--T:23-->
* Recipes are entered an edited on a similar screen.  Entry is speeded by the use of drop-down menus using text prediction
* Recipes are entered an edited on a similar screen.  Entry is speeded by the use of drop-down menus using text prediction
<br />
 
 
<!--T:24-->
''' Edit Recipes '''
''' Edit Recipes '''


<!--T:25-->
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.
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.
<br />
 
[[Image:Krecipes-recipe-description-tab.png|thumb|350px|center|''Editing a Recipe'']]<br />
<!--T:26-->
[[Image:Krecipes-recipe-description-tab.png|thumb|350px|center|''Editing a Recipe'']]
 
<!--T:27-->
* Ingredients and instructions can be pasted in if a text file already exists
* Ingredients and instructions can be pasted in if a text file already exists
<!--T:28-->
* Recipes can be printed for inclusion in scrapbooks, etc.
* Recipes can be printed for inclusion in scrapbooks, etc.
<br />
 
<!--T:29-->
[[Image:Krecipes-print-preview.png|thumb|350px|center|''The Print Preview'']]<br />
[[Image:Krecipes-print-preview.png|thumb|350px|center|''The Print Preview'']]<br />
* Files can be imported from an existing '''Krecipes database'''
 
<!--T:30-->
* Files can be imported from an existing '''Krecipes''' database
 
<!--T:31-->
* As well as from "MasterCook" 4, 5 or 6, "Meal-Master", "RecipeML", "Rezconf" or “Now You're Cooking”
* As well as from "MasterCook" 4, 5 or 6, "Meal-Master", "RecipeML", "Rezconf" or “Now You're Cooking”
<!--T:32-->
* It is also possible to export to many formats
* It is also possible to export to many formats
<!--T:33-->
* Backup and Restore of database is fully supported.
* 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.
 
<!--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.
 
<!--T:35-->
* Nutrient values can be used to help you plan any diet
* Nutrient values can be used to help you plan any diet
<br />


<!--T:36-->
'''Diet Helper'''
'''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.<br />
<!--T:37-->
[[Image:Krecipes-diet-help.png‎|thumb|350px|center|''The Diet Helper'']]<br />
* 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.
[[Image:Krecipes-ingredient-match.png|thumb|350px|center|''Selecting by Ingredients'']]<br />
 
<!--T:38-->
[[Image:Krecipes-diet-help.png‎|thumb|350px|center|''The Diet Helper'']]
 
<!--T:39-->
[[Image:Krecipes-ingredient-match.png|thumb|350px|center|''Selecting by Ingredients'']]
 
<!--T:40-->
* Conversion tables help you move between Americal measure and metric
* Conversion tables help you move between Americal measure and metric
<br />
 
<!--T:41-->
[[Image:Krecipes-volume-convert.png|thumb|350px|center|''The Conversion Screen'']]<br />
[[Image:Krecipes-volume-convert.png|thumb|350px|center|''The Conversion Screen'']]<br />


<!--T:42-->
'''Advanced Database Management'''
'''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.
<!--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.


<!--T:44-->
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.
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.


Line 67: Line 118:
This is only a very sketchy overview.  There are many more features to be explored in [http://docs.kde.org/development/en/extragear-utils/krecipes/index.html the Handbook]. [http://krecipes.sourceforge.net/?p=about The Project Page] has links to Help and Discussion forums
This is only a very sketchy overview.  There are many more features to be explored in [http://docs.kde.org/development/en/extragear-utils/krecipes/index.html the Handbook]. [http://krecipes.sourceforge.net/?p=about The Project Page] has links to Help and Discussion forums


<!--T:6-->
==Contribute== <!--T:6-->
 
==Contribute==


<!--T:45-->
'''Coding'''
'''Coding'''


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


<!--T:88-->
'''Reporting bugs'''
<!--T:48-->
You can use the [http://bugs.kde.org/ KDE Bug Tracking System] to report bugs.
You can use the [http://bugs.kde.org/ KDE Bug Tracking System] to report bugs.


<!--T:49-->
'''Translating'''


'''Translating'''
<!--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 {{Smiley}}
 
<!--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.


* 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 :)
<!--T:52-->
* 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.
* Handbook: Currently the handbook in english is very outdated, please wait for instructions.
<!--T:53-->
* Sample recipes: We are figuring out a technical solution and proper workflow to do this, please wait for instructions.
* Sample recipes: We are figuring out a technical solution and proper workflow to do this, please wait for instructions.


 
<!--T:54-->
'''Giving Feedback'''
'''Giving Feedback'''


Give us your feedback in the Krecipes Forums or in #krecipes IRC channel at FreeNode.
<!--T:55-->
 
Give us your feedback in the [https://forum.kde.org/viewforum.php?f=22 Forums] or in #krecipes IRC channel at Libera Chat.
==ChangeLog==
 
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==
==Handbook== <!--T:58-->


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].
<!--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].


==Download==
==Download== <!--T:60-->


<!--T:61-->
'''Downloading And Compiling The Latest (2.0-beta2) Release'''
'''Downloading And Compiling The Latest (2.0-beta2) Release'''


<!--T:62-->
You can download the [http://sourceforge.net/projects/krecipes/files/krecipes/2.0-beta2/krecipes-2.0-beta2.tar.gz/download latest release] or see other releases in the [http://sourceforge.net/projects/krecipes/files "files" section of the sourceforge page]. You can see main changes in this version in the ChangeLog page.
You can download the [http://sourceforge.net/projects/krecipes/files/krecipes/2.0-beta2/krecipes-2.0-beta2.tar.gz/download latest release] or see other releases in the [http://sourceforge.net/projects/krecipes/files "files" section of the sourceforge page]. You can see main changes in this version in the ChangeLog page.


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


<!--T:64-->
{{input|1=tar -zxf krecipes-[VERSION_NUMBER].tar.gz}}
{{input|1=tar -zxf krecipes-[VERSION_NUMBER].tar.gz}}


<!--T:65-->
And compile
And compile


<!--T:66-->
{{input|1=cmake .
{{input|1=cmake .
make
make
make install}}
make install}}


<!--T:67-->
'''Downloading, Building And Installing The Latest Development Version With Git'''
'''Downloading, Building And Installing The Latest Development Version With Git'''


<!--T:68-->
The project is being developed under extragear/utils in KDE's servers.
The project is being developed under extragear/utils in KDE's servers.


<!--T:69-->
To download the source code, do:
To download the source code, do:


{{input|1=git clone git://anongit.kde.org/krecipes}}
<!--T:70-->
{{input|1=<nowiki>git clone git://anongit.kde.org/krecipes</nowiki>}}


<!--T:71-->
To update the source code, do:
To update the source code, do:


<!--T:72-->
{{input|1=cd krecipes
{{input|1=cd krecipes
git pull}}
git pull}}


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


<!--T:74-->
{{input|1=mkdir build && cd build
{{input|1=mkdir build && cd build
cmake ..
cmake ..
Line 138: Line 212:
make install}}
make install}}


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


<!--T:76-->
{{input|1=mkdir build && cd build
{{input|1=mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=~/.kde/
cmake .. -DCMAKE_INSTALL_PREFIX=~/.kde/
Line 145: Line 221:
make install}}
make install}}


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


<!--T:78-->
{{input|1=export PATH=~/.kde/bin:${PATH}
{{input|1=export PATH=~/.kde/bin:${PATH}
export MANPATH=~/.kde/man:$(manpath)
export MANPATH=~/.kde/man:$(manpath)
Line 154: Line 232:
export LD_LIBRARY_PATH=~/.kde/lib}}
export LD_LIBRARY_PATH=~/.kde/lib}}


<!--T:79-->
To uninstall it:
To uninstall it:


<!--T:80-->
{{input|1=cd build && make uninstall}}
{{input|1=cd build && make uninstall}}


==Contact==
==Contact== <!--T:81-->


* [http://sourceforge.net/apps/phpbb/krecipes/ Krecipes forums]
<!--T:82-->
* [https://lists.sourceforge.net/lists/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==
==Authors== <!--T:83-->


<!--T:84-->
'''The Old Krecipes Crew'''
'''The Old Krecipes Crew'''
* Jason Kivlighn
* Jason Kivlighn
Line 173: Line 254:




<!--T:85-->
'''People who worked actively in the KDE 4 port but who are not working in the project at the moment'''
'''People who worked actively in the KDE 4 port but who are not working in the project at the moment'''
* Daniel Sauvé
* Daniel Sauvé
Line 178: Line 260:




<!--T:86-->
'''The current developers'''
'''The current developers'''
* José Manuel Santamaría Lema
* José Manuel Santamaría Lema
* Martin Engelmann
* Martin Engelmann


<!--T:87-->
[[Category:Utilities]]
[[Category:Utilities]]
[[Category:Home and Hobby]]
[[Category:Home and Hobby]]
</translate>
</translate>

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