Skip to content

ColinRgm/ToDo_List_Rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ma ToDo List en Rust

Fonctionnalités

  • Ajouter de nouvelles todos en une commande

  • Supprimer une todo avec son numéro

  • Marquer une todo comme terminée

  • Ajouter une deadline à une todo

  • Afficher toutes les todos

  • Afficher par ordre d'urgence

  • Sauvegarder les todos dans un fichier JSON

Étapes

  • Créez un nouveau projet Rust, faites un premier commit, poussez le sur GitHub.

  • Codez un simple programme qui demande à l'utilisateur d'écrire une todo, puis qui l'écrit dans un fichier texte.

  • Modifiez le code pour que lorsque vous ajoutez une todo suppémentaire (nouveau lancement du programme), une ligne soit ajoutée dans le fichier texte.

  • Modifiez le code pour que si l'utilisateur écrit un drapeau --delete suivi du numéro de ligne d'une todo, elle soit supprimée du fichier.

  • Modifiez le système pour utiliser un fichier JSON pour le stockage des todos, pour ce faire, il faudra utiliser une struct rust anisi que la librairie serde.

  • Modifiez le code pour utiliser la libraire clap afin de pouvoir gèrer automatiquement les arguments et drapeaux de la ligne de commande.

  • Ajoutez un drapeau --done suivi du numéro de la todo pour indiquer qu'elle est terminée.

  • Ajoutez un drapeau --undone suvi du numéro de la todo pour indiquer qu'elle n'est pas terminée.

  • Ajoutez un nouveau drapeau --due suivi d'une date au format "YY-MM-DD" afin d'ajouter une deadline.

  • Ajoutez un drapeau --list pour afficher toutes les toods et leurs status (done, undone).

  • Ajoutez un drapeau --sort pour trier la liste dans l'ordre de priorités

Utile

Nous utilisons le format JSON pour une meilleure lisibilité et une utilisation simplifié

Le code est divisé en plusieurs partie :

  • Ajout des librairies

  • Constante récupérant le fichier JSON, afin d'éviter des répétitions dans la code

  • Création de la structure des todos

  • Création des drapeaux utilisable par l'utilisateur

  • Function main qui sera utiliser afin de permettre de lire, écrire et modifier le fichier JSON

  • Une condition qui appelle le drapeau souhaité

  • Chaque fonction appelée par les différents drapeaux

About

Command line todo list

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages