Cooketal

En cours Publiée le 17/07/2024
Accéder au site
python

## Fonctionnalités générales


- Génération de menus : Générer un menu pour une période donnée avec des recettes aléatoires parmi celles enregistrées en base de données.

- Gestion des recettes : Ajouter, consulter, modifier et supprimer des recettes.

- Gestion des ingrédients : Ajouter, consulter, modifier et supprimer des ingrédients.

- Historique des menus : Consulter les menus générés précédemment et voir les recettes et ingrédients associés.

- Options d'import/export : Exporter et importer des ingrédients pour les partager avec d'autres utilisateurs.



## Onglets et détails des fonctionnalités



1. Menus :


  - Générer un menu : Permet de générer un menu pour une période donnée. Les recettes sont choisies de manière aléatoire parmi celles enregistrées. Possibilité de modifier les plats en double-cliquant sur leur nom. Sauvegarder le menu pour le retrouver dans l'historique.

  - Historique des menus : Voir tous les menus générés. Consulter les recettes et les ingrédients nécessaires pour chaque menu.


2. Recettes :


  - Liste des recettes : Consulter toutes les recettes enregistrées. Filtrer les recettes grâce à un champ de recherche full-text. Modifier ou supprimer des recettes.

  - Ajouter une recette : Ajouter une nouvelle recette avec un nom, type de repas, nombre de repas, instructions (optionnel) et ingrédients. Les ingrédients peuvent être ajoutés via une recherche full-text et sélectionnés dans une liste déroulante.


3. Ingrédients :


  - Liste des ingrédients : Consulter tous les ingrédients enregistrés. Filtrer les ingrédients grâce à un champ de recherche full-text. Modifier ou supprimer des ingrédients.

  - Ajouter un ingrédient : Ajouter un nouvel ingrédient avec son nom et sa catégorie.


4. Options :


  - Exporter : Exporter la liste des ingrédients dans un fichier texte.

  - Importer : Importer des ingrédients depuis un fichier texte. Les doublons ne seront pas importés. (Note : évitez les accents dans la liste des ingrédients à importer).



## Technologies et modules utilisés


- Python

- Tkinter

- Tkcalendar

- Customtkinter

- CTkMessagebox

- SQLite3

- Pillow



## Télécharger


Disponible sur https://github.com/sptaule/cooketal/releases



## Build


1. Clôner le dépôt

2. Installer les requirements dans un environnement virtuel

3. Exécuter `pyinstaller ./cooketal.spec` (pour générer le .exe) ou exécuter `python ./main.py` (pour lancer l'application)


Si la base de données n'est pas présente, elle sera alors créée lors du premier lancement.



## Améliorations à venir


- Importer des ingrédients avec des caractères accentués.

- Ajouter, modifier et supprimer des catégories d'ingrédients et changer leur ordre d'affichage.

- Possibilité de ne pas insérer de recette pour un jour ou moment spécifié lors de la génération d'un menu.

- Relier les recettes à des saisons (été, hiver, etc.).

- Importer et exporter des recettes, des menus et autres entités nécessaires.



## Note


Il s'agit de ma première application GUI en Python, réalisée en une semaine environ, donc vous pouvez trouver des erreurs.

De plus, c'était censé être une application personnelle, mais en fait, j'ai pensé qu'elle pourrait être utile à d'autres.



## Contribuer


Les contributions sont les bienvenues !

Veuillez soumettre une pull request ou ouvrir une issue pour discuter des changements que vous souhaitez apporter.



## License


Ce projet est sous licence MIT.