From 65e605024e50b3f1d46339ad682fbc377eb8d036 Mon Sep 17 00:00:00 2001 From: tech-follow <57498593+tech-follow@users.noreply.github.com> Date: Thu, 17 Aug 2023 12:26:09 +0200 Subject: [PATCH] Update README.md --- README.md | 129 +++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 98 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 5269121..c4adb8b 100644 --- a/README.md +++ b/README.md @@ -1,66 +1,133 @@ -# Beer Commande Line Application +# Beer Command Line Application -Cette CLI prend en parametre obligatoire un fichier utiliser celui fournit(open-beer-database.csv). +## Introduction -Cette cli possede plusieurs commande possible. +L'objectif de ce projet est de réaliser un service qui sera exécuté en CLI. +Le rôle de ce service sera d'importer des données, à savoir une liste de bières, puis d'effectuer des opérations de tri et de filtre avant de les afficher et dans certains cas, les exporter. +Il faudra mettre à disposition plusieurs commandes qui effectueront chacune un tri bien spécifique. -Cette cli sera faite en pure PHP, sans framework, suivre les recommandations PSR12 pour le code style. Il est tout a fait possible d'utiliser des dependances tierces a l'aide de composer. +### Contraintes techniques +* Le projet doit être exécuté en CLI +* Il doit être développé en pure PHP (pas de framework) +* Il doit suivre les recommandation PSR12 pour le code style +* Il est tout à fait possible d'utiliser des dépendances tierces à l'aide de composer -**Prerequis** -> Avoir php et composer d'installer sur la machine. +### Prérequis -## Strongest Beer -Remonter la/les biere(s) la plus forte. +Avoir php et composer d'installé sur la machine. + +### Package de départ + +*It’s dangerous to go alone! Take this.* + +Pour le bon déroulement du dev, vous avez à votre disposition la structure de base du projet et les données à manipuler : +* Un fichier php à exécuter en CLI qui fera appelle au service à développer +* Un fichier CSV open-beer-database.csv qui contient les données à importer +* Le dossier src contient la class Cli qui est le point de départ du service à développer + + + +## Spécifications + +### Fonctionnement générale du service + +Le service doit être exécuté en CLI et prend en paramètre obligatoire : +* Le nom de la commande à exécuter +* Le chemin du fichier CSV à traiter + +``` +$> ./cli +``` + +### Gestion des erreurs +Le service doit à minima gérer les erreurs concernant les paramètres obligatoires et le nom des commandes invalides (commands not found) + + +### Commandes beer:strongest +Afficher la/les bière(s) la/les plus fortes. + +Commande : ``` $> ./cli beer:strongest /file/path/beer.csv -beer name - brewery - country ``` -## Bitterest Beer -Trouver la/les biere(s) la/les plus amere (IBU) +Output : +``` + - - + - - +... +``` +### Bitterest Beer +Afficher la/les bière(s) la/les plus amères (IBU) + +Commande : ``` $> ./cli beer:bitterest /file/path/beer.csv -beer name - brewery - country ``` -## World Brewery ranking by country -Classement des pays, par nombre de brasserie +Output : +``` + - - + - - +... +``` + +### World Brewery ranking by country +Afficher les pays producteurs de bière classés par nombre de brasserie + +Commande ``` $> ./cli beer:ranking:brewery /file/path/beer.csv -nb_brewery - country -nb_brewery - country -nb_brewery - country -nb_brewery - country ``` + +Output +``` + - + - + - + - +... +``` + ## Style ranking by name -Classement des style de bieres par nombre de reference. +Afficher les styles de bières classés par nombre de références. +Commande ``` $> ./cli beer:ranking:style /file/path/beer.csv -nb_ref - style -nb_ref - style -nb_ref - style -nb_ref - style +``` + +Output +``` + -